Age | Commit message (Collapse) | Author |
|
Split implementation files along a uses-libc/shouldn't-use-libc
boundary.
- InstrProfiling.h is a shared header.
- InstrProfiling.c provides an API to extract profiling data from the
runtime, but avoids the use of libc. Currently this is a lie:
__llvm_pgo_write_buffer() uses `FILE*` and related functions. It
will be updated soon to write to a `char*` buffer instead.
- InstrProfilingExtras.c provides a more convenient API for
interfacing with the profiling runtime, but has logic that does (and
will continue to) use libc.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204268 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204267 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204240 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204238 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
where a mutex acquisition stack trace was not properly remembered
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204237 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204234 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204233 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
asked in comments for r203111
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204232 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204231 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204228 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
In member function 'virtual void __sanitizer::DD::MutexBeforeLock(__sanitizer::DDCallback*, __sanitizer::DDMutex*, bool)':
error: the frame size of 544 bytes is larger than 512 bytes [-Werror=frame-larger-than=]
The code is now [arguably] better as well.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204227 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
more robust in case we failed to extract a stack trace for one of the locks
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204225 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reviewed at http://llvm-reviews.chandlerc.com/D3107
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204218 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
negative shift amounts and/or shifts wider than the type. VAX traps on
the former, X86 and other platforms produce incorrect results on the
latter.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204193 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204185 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204179 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
If the user requests OS default stack size, do not adjust it to our minimum
stack size (which is usually much less than the OS default).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204173 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204154 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Compiler-rt part of MSan implementation of advanced origin tracking,
when we record not only creation point, but all locations where
an uninitialized value was stored to memory, too.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204152 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
the first flags is to enable printing of the second stack per edge
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204150 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204149 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204148 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204146 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
this is necessaary because dlsym can call malloc, which can lock mutexes that we intercept
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204141 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204139 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204127 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
still experimental
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204126 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204124 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
improve)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204115 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reapply r204079 and r204083, this time with stubs for fputc in
compiler-rt.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204091 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Buildbots are having trouble finding fputc(), and I can't figure out
why. Reverting to investigate.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204088 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204084 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204083 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
In instrumentation-based profiling, we need a set of data structures to
represent the counters. Previously, these were built up during static
initialization. Now, they're shoved into a specially-named section so
that they show up as an array.
As a consequence of the reorganizing symbols, instrumentation data
structures for linkonce functions are now correctly coalesced.
This is the first step in a larger project to minimize runtime overhead
and dependencies in instrumentation-based profilng. The larger picture
includes removing all initialization overhead and making the dependency
on libc optional.
<rdar://problem/15943240>
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204079 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204044 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
locks in the deadlock report (first print the 'from' node, then print the 'to' node of the deadlock graph)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204043 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
lock-order-inversion with N locks (i.e. print stack traces for both lock acquisitions in every edge in the graph). More improvements to follow
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204042 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
currently held locks in a thread. This will allow the deadlock detector to provide better warnings (more changes to go)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204039 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204037 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204035 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
come)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204034 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Make behavior introduced in r202820 conditional (under legacy_pthread_cond flag).
The new issue that we've hit with the satellite pthread_cond_t struct is
that pthread_condattr_getpshared does not work (satellite data is not shared between processes).
The idea is that most processes do not use pthread 2.2.5.
The rare ones that use (2.2.5 is dated by 2002) must specify legacy_pthread_cond=1
on their own risk.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204032 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204029 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203913 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203910 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203904 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
when an edge is added to the graph (in following CLs these stack traces will be added to the report)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203902 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
onLockBefore and onLockAfter hooks
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203796 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203795 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@203793 91177308-0d34-0410-b5e6-96231b3b80d8
|