| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This variable is used by ASan (and other sanitizers in the future)
on s390x-linux to override a check for CVE-2016-2143 in the running
kernel (see revision 267747 on compiler-rt). Since the check simply
checks if the kernel version is in a whitelist of known-good versions,
it may miss distribution kernels, or manually-patched kernels - hence
the need for this variable. To enable running the ASan testsuite on
such kernels, this variable should be passed from the environment
down to the testcases.
Differential Revision: http://reviews.llvm.org/D19888
llvm-svn: 273825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes the bind placeholders in std::placeholders both (1) const and
(2) constexpr (See below).
This is technically a breaking change for any code using the placeholders
outside of std::bind and depending on them being non-const. However I don't
think this will break any real world code.
(1) Previously the placeholders were non-const extern globals in all
dialects. This patch changes these extern globals to be const in all dialects.
Since the cv-qualifiers don't participate in name mangling for globals this
is an ABI compatible change.
(2) Make the placeholders constexpr in C++11 and beyond. Although LWG 2488 only
applies to C++17 I don't see any reason not to backport this change.
llvm-svn: 273824
|
|
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273823
|
|
|
|
|
|
| |
from STL@microsoft.com
llvm-svn: 273822
|
|
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273821
|
|
|
|
|
|
| |
STL@microsoft.com
llvm-svn: 273820
|
|
|
|
| |
llvm-svn: 273819
|
|
|
|
| |
llvm-svn: 273818
|
|
|
|
| |
llvm-svn: 273817
|
|
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273816
|
|
|
|
| |
llvm-svn: 273815
|
|
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273814
|
|
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273813
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21504
llvm-svn: 273812
|
|
|
|
|
|
|
|
|
| |
build.
There's a known bug in msvc 2013 that fails to compile do-while loops
inside of ranged for loops.
llvm-svn: 273811
|
|
|
|
| |
llvm-svn: 273810
|
|
|
|
| |
llvm-svn: 273809
|
|
|
|
|
|
| |
Only minor manual fixes. No functionality change intended.
llvm-svn: 273808
|
|
|
|
|
|
|
|
|
|
|
| |
Added support for:
1. Multi dimension array.
2. Array of structure type, which previously was declared incompletely.
3. Dynamic size array.
Differential Revision: http://reviews.llvm.org/D21526
llvm-svn: 273807
|
|
|
|
|
|
|
|
|
|
| |
weak_ptrs and destructors in C++
There is a "well-known" TSan false positive when using C++ weak_ptr/shared_ptr and code in destructors, e.g. described at <https://llvm.org/bugs/show_bug.cgi?id=22324>. The "standard" solution is to build and use a TSan-instrumented version of libcxx, which is not trivial for end-users. This patch tries a different approach (on OS X): It adds an interceptor for the specific function in libc++.dylib, which implements the atomic operation that needs to be visible to TSan.
Differential Revision: http://reviews.llvm.org/D21609
llvm-svn: 273806
|
|
|
|
| |
llvm-svn: 273805
|
|
|
|
|
|
| |
be created. We can do everything with the starting mask and zeroable bit vector. This removes the last usage of isSingleInputShuffleMask. NFC
llvm-svn: 273804
|
|
|
|
|
|
| |
UNDEF. Canonicalization and creation of shuffle vector ensures this is equivalent.
llvm-svn: 273803
|
|
|
|
| |
llvm-svn: 273802
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a straightforward extension of what LoopUnswitch does to
branches to guards. That is, we unswitch
```
for (;;) {
...
guard(loop_invariant_cond);
...
}
```
into
```
if (loop_invariant_cond) {
for (;;) {
...
// There is no need to emit guard(true)
...
}
} else {
for (;;) {
...
guard(false);
// SimplifyCFG will clean this up by adding an
// unreachable after the guard(false)
...
}
}
```
Reviewers: majnemer
Subscribers: mcrosier, llvm-commits, mzolotukhin
Differential Revision: http://reviews.llvm.org/D21725
llvm-svn: 273801
|
|
|
|
| |
llvm-svn: 273800
|
|
|
|
| |
llvm-svn: 273799
|
|
|
|
| |
llvm-svn: 273798
|
|
|
|
| |
llvm-svn: 273797
|
|
|
|
| |
llvm-svn: 273796
|
|
|
|
| |
llvm-svn: 273795
|
|
|
|
| |
llvm-svn: 273794
|
|
|
|
| |
llvm-svn: 273793
|
|
|
|
|
|
| |
All of its implementation is in just one function.
llvm-svn: 273792
|
|
|
|
|
|
|
| |
Name-casing and minor style changes to bring the function up to the LLVM
coding style.
llvm-svn: 273791
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The last import is the penultimate entry, the last entry is nulled out.
Data beyond the null entry should not be considered to hold import
entries.
This fixes PR28302.
N.B. I am working on a reduced testcase, the one in PR28302 is too
large.
llvm-svn: 273790
|
|
|
|
|
|
|
|
|
| |
If a sub-view has already been rendered, it's helpful to re-render the
expansion site before rendering the next expansion view. Make this fact
explicit in the rendering interface, instead of hiding it behind an
awkward Optional<LineRef> parameter.
llvm-svn: 273789
|
|
|
|
|
|
| |
lowering to comparisons of <0 or >=0. While there do the same for other kinds of index checks that can just check for greater than 0. No functional change intended.
llvm-svn: 273788
|
|
|
|
| |
llvm-svn: 273787
|
|
|
|
|
|
| |
http://reviews.llvm.org/D18919
llvm-svn: 273786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't cast GV expression to MCSymbolRefExpr. r272705 changed GV to binary
expressions by including offset even if the offset it 0
(we haven't hit this sooner since tested workloads don't include static offsets)
We don't really care about the type of expression, so set it directly.
Fixes: r272705
Consider section relative relocations. Since all const as data is in one boffer section relative is equivalent to abs32.
Fixes: r273166
Differential Revision: http://reviews.llvm.org/D21633
llvm-svn: 273785
|
|
|
|
| |
llvm-svn: 273784
|
|
|
|
| |
llvm-svn: 273783
|
|
|
|
|
|
|
|
|
|
|
|
| |
variable LLVM_BUILD_TYPE.
This is just a small step in the direction of making LLVMConfig.cmake a complete
replacement for llvm-config.
For those unfamiliar, llvm-config --build-mode prints out CMAKE_BUILD_TYPE. Thus
as one can imagine, LLVM_BUILD_TYPE is @CMAKE_BUILD_TYPE@.
llvm-svn: 273782
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: rsmith, faisalv, aaron.ballman
Subscribers: llvm-commits, cfe-commits, nwilson
Differential Revision: http://reviews.llvm.org/D19770
llvm-svn: 273781
|
|
|
|
|
|
| |
No functional change is intended
llvm-svn: 273780
|
|
|
|
|
|
| |
This reverts commit r273778, it seems to break UBSan :/
llvm-svn: 273779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SimplifyCFG had logic to insert calls to llvm.trap for two very
particular IR patterns: stores and invokes of undef/null.
While InstCombine canonicalizes certain undefined behavior IR patterns
to stores of undef, phase ordering means that this cannot be relied upon
in general.
There are much better tools than llvm.trap: UBSan and ASan.
N.B. I could be argued into reverting this change if a clear argument as
to why it is important that we synthesize llvm.trap for stores, I'd be
hard pressed to see why it'd be useful for invokes...
llvm-svn: 273778
|
|
|
|
|
|
|
| |
Calling null is undefined behavior, we can simplify the resulting value
to undef.
llvm-svn: 273777
|
|
|
|
|
|
|
| |
Calling null is undefined behavior, a call to undef can be trivially
treated as a call to null.
llvm-svn: 273776
|