| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
|
|
| |
larger than 16. This was accidentally broken in r272246.
llvm-svn: 273775
|
|
|
|
| |
llvm-svn: 273774
|
|
|
|
|
|
|
| |
Make renderExpansionView() look a bit more like renderLine(), and
clarify its doxygen comment.
llvm-svn: 273773
|
|
|
|
| |
llvm-svn: 273772
|
|
|
|
| |
llvm-svn: 273771
|
|
|
|
|
|
|
|
|
| |
There's some kind of issue with using "constexpr unsigned" in an
anonymous namespace.
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/13395
llvm-svn: 273770
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the kernel code header
Debugger prologue is emitted if -mattr=+amdgpu-debugger-emit-prologue.
Debugger prologue writes work group IDs and work item IDs to scratch memory at fixed location in the following format:
- offset 0: work group ID x
- offset 4: work group ID y
- offset 8: work group ID z
- offset 16: work item ID x
- offset 20: work item ID y
- offset 24: work item ID z
Set
- amd_kernel_code_t::debug_wavefront_private_segment_offset_sgpr to scratch wave offset reg
- amd_kernel_code_t::debug_private_segment_buffer_sgpr to scratch rsrc reg
- amd_kernel_code_t::is_debug_supported to true if all debugger features are enabled
Differential Revision: http://reviews.llvm.org/D20335
llvm-svn: 273769
|
|
|
|
|
|
|
| |
This adds some tests for the smarter llvm-ar selection mode as well as some
additional tests as per Rafael's post commit review comments.
llvm-svn: 273768
|