| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 252166
|
|
|
|
|
|
|
|
| |
Fixing `tsan_interceptors.cc`, which on OS X produces a bunch of warnings about unused constants and functions.
Differential Revision: http://reviews.llvm.org/D14381
llvm-svn: 252165
|
|
|
|
| |
llvm-svn: 252164
|
|
|
|
| |
llvm-svn: 252163
|
|
|
|
|
|
|
|
| |
On OS X, memcpy and memmove are actually aliases of the same implementation, which means the interceptor of memcpy is also invoked when memmove is called. The current implementation of the interceptor uses `internal_memcpy` to perform the actual memory operation, which can produce an incorrect result when memmove semantics are expected. Let's call `internal_memmove` instead.
Differential Revision: http://reviews.llvm.org/D14336
llvm-svn: 252162
|
|
|
|
|
|
|
|
| |
A call to memmove is used early during new thread initialization on OS X. This patch uses the `COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED` check, similarly to how we deal with other early-used interceptors.
Differential Revision: http://reviews.llvm.org/D14377
llvm-svn: 252161
|
|
|
|
|
|
|
|
| |
TSan has a re-implementation of `pthread_once` in its interceptor, which assumes that the `pthread_once_t *once_control` pointer is actually pointing to a "storage" which is zero-initialized and used for the atomic operations. However, that's not true on OS X, where pthread_once_t is a structure, that contains a header (with a magic value) and the actual storage follows after that. This patch skips the header to make the interceptor work on OS X.
Differential Revision: http://reviews.llvm.org/D14379
llvm-svn: 252160
|
|
|
|
|
|
|
|
| |
This implements a "poor man's TLV" to be used for TSan's ThreadState on OS X. Based on the fact that `pthread_self()` is always available and reliable and returns a valid pointer to memory, we'll use the shadow memory of this pointer as a thread-local storage. No user code should ever read/write to this internal libpthread structure, so it's safe to use it for this purpose. We lazily allocate the ThreadState object and store the pointer here.
Differential Revision: http://reviews.llvm.org/D14288
llvm-svn: 252159
|
|
|
|
|
|
|
|
|
| |
An incoming value from a block the is not inside the scop is an
external use, even if the phi is inside the scop. A previous fix in
r251208 did not apply if the phi is inside a non-affine subregion. We
move the check for this phi case before the non-affine subregion check.
llvm-svn: 252157
|
|
|
|
|
|
|
|
| |
This patch fixes one more thing in MCU psABI support: LongDoubleWidth should be set to 64.
Differential Revision: http://reviews.llvm.org/D14285
llvm-svn: 252156
|
|
|
|
|
|
|
|
| |
TSan needs to use a custom malloc zone on OS X, which is already implemented in ASan. This patch uses the sanitizer_common implementation in `sanitizer_malloc_mac.inc` for TSan as well.
Reviewed at http://reviews.llvm.org/D14330
llvm-svn: 252155
|
|
|
|
|
|
| |
[X86][AVX512] add comi with Sae
llvm-svn: 252154
|
|
|
|
|
|
|
|
| |
add builtin_ia32_vcomisd and builtin_ia32_vcomisd
Differential Revision: http://reviews.llvm.org/D14331
llvm-svn: 252153
|
|
|
|
|
|
| |
We were correctly skipping dbginfo intrinsics and terminators, but the initial bailout wasn't, causing it to bail out on almost any block.
llvm-svn: 252152
|
|
|
|
|
|
|
|
| |
VPBROADCASTMW2D and VPBROADCASTMB2Q
Differential Revision: http://reviews.llvm.org/D14335
llvm-svn: 252151
|
|
|
|
|
|
|
| |
Adjust the casted type. By casting to the same size rather than just the
signed-ness, we were asserting tautological statements. NFC.
llvm-svn: 252150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GetUnderlyingObjects() can return "null" among its list of objects,
we don't want to deduce that two pointers can point to the same
memory in this case, so filter it out.
Reviewers: anemet
Subscribers: dexonsmith, llvm-commits
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 252149
|
|
|
|
| |
llvm-svn: 252148
|
|
|
|
| |
llvm-svn: 252147
|
|
|
|
| |
llvm-svn: 252146
|
|
|
|
| |
llvm-svn: 252145
|
|
|
|
|
|
|
| |
This doesn't quite match how SC prints it, which doesn't put it in a
comment.
llvm-svn: 252144
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: jingham, jasonmolenda
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D14365
llvm-svn: 252143
|
|
|
|
| |
llvm-svn: 252142
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Remove the loop over the uses of the CallSite in ArgumentUsesTracker.
Since we have the `Use *` for actual argument operand, we can just use
pointer subtraction.
The time complexity remains the same though (except for a vararg
argument) -- `std::advance` is O(UseIndex) for the ArgumentList
iterator.
The real motivation is to make a later change adding support for operand
bundles simpler.
Reviewers: reames, chandlerc, nlewycky
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14363
llvm-svn: 252141
|
|
|
|
|
|
|
|
|
|
| |
The operand layout is slightly different for the atomic
opcodes from the usual MUBUF loads and stores.
This should only fix it on SI/CI. VI is still broken
because it still emits the addr64 replacement.
llvm-svn: 252140
|
|
|
|
|
|
|
| |
vaddr comes before srsrc in every other MUBUF instruction,
and is the order it is printed.
llvm-svn: 252139
|
|
|
|
| |
llvm-svn: 252138
|
|
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 252137
|
|
|
|
|
| |
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 252136
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The CLR's personality routine passes the pointer to the establisher frame
in RCX, not RDX.
Reviewers: pgavlin, majnemer, rnk
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14343
llvm-svn: 252135
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is needed to handle per-project configurations when adding extra
arguments in clang-tidy for example.
Reviewers: klimek, djasper
Subscribers: djasper, cfe-commits, klimek
Differential Revision: http://reviews.llvm.org/D14191
llvm-svn: 252134
|
|
|
|
| |
llvm-svn: 252133
|
|
|
|
|
|
|
|
| |
For x86-64 the initial executable TLS block is placed directly before the
thread specific data register so compilers can directly access it via
R_X86_64_TPOFF32. Generate the correct (negative) offset for this case.
llvm-svn: 252131
|
|
|
|
|
|
| |
This is similar to the bounds check added to paramHasAttr in r252073.
llvm-svn: 252130
|
|
|
|
|
|
| |
place.
llvm-svn: 252129
|
|
|
|
| |
llvm-svn: 252128
|
|
|
|
|
|
|
|
| |
It was deprecated even in 2.7, but not removed until 3.x. os.walk
provides all of the same functionality and is the correct way to
do this now.
llvm-svn: 252127
|
|
|
|
|
|
|
|
|
|
|
| |
This follows the spirit of a previous patch which did essentially
the same thing. In Python 3, when you use Popen.communicate(),
you get back a bytes object which cannot normally be treated as
a string. We could decode this manually, but universal_newlines=True
does this automatically, and there's no disadvantage to doing so
even on Python 2. So just enable it always.
llvm-svn: 252126
|
|
|
|
| |
llvm-svn: 252125
|
|
|
|
| |
llvm-svn: 252124
|
|
|
|
| |
llvm-svn: 252123
|
|
|
|
|
|
|
|
| |
everything else.
<rdar://problem/18383591>
llvm-svn: 252122
|
|
|
|
|
|
| |
Posix.
llvm-svn: 252121
|
|
|
|
| |
llvm-svn: 252120
|
|
|
|
|
|
|
|
| |
This brings back the behavior from before r252090 for out of range symbols.
Should bring some arm bots back.
llvm-svn: 252119
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
llvm-symbolizer understands both PDBs and DWARF, so it is more likely to
succeed at symbolization. If llvm-symbolizer is unavailable, we will
fall back to dbghelp. This also makes our crash traces more similar
between Windows and Linux.
Reviewers: Bigcheese, zturner, chapuni
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D12884
llvm-svn: 252118
|
|
|
|
| |
llvm-svn: 252117
|
|
|
|
| |
llvm-svn: 252116
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D14349
llvm-svn: 252115
|