- Apr 01, 2016
-
-
Enrico Granata authored
llvm-svn: 265181
-
Rong Xu authored
llvm-svn: 265180
-
Simon Pilgrim authored
llvm-svn: 265179
-
James Y Knight authored
ThreadModel::Single is already handled already by ARMPassConfig adding LowerAtomicPass to the pass list, which lowers all atomics to non-atomic ops and deletes fences. So by the time we get to ISel, there's no atomic fences left, so they don't need special handling. llvm-svn: 265178
-
Andy Gibbs authored
For completeness, add a test-case for the equivalent stringize operator diagnostic too. llvm-svn: 265177
-
Peter Collingbourne authored
Should fix modules build. llvm-svn: 265176
-
Todd Fiala authored
This test is failing on the CI but not locally for me. Needs investigation. tracked by: https://llvm.org/bugs/show_bug.cgi?id=27182 llvm-svn: 265175
-
Mike Aizatsky authored
Differential Revision: http://reviews.llvm.org/D18705 llvm-svn: 265174
-
Simon Pilgrim authored
llvm-svn: 265173
-
Sanjay Patel authored
Was there really no other way to splat a byte in SSE2? punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7] pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7] pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1] llvm-svn: 265172
-
Simon Pilgrim authored
llvm-svn: 265171
-
Tom Stellard authored
Summary: Implement BUFFER_ATOMIC_CMPSWAP{,_X2} instructions on all GCN targets, and FLAT_ATOMIC_CMPSWAP{,_X2} on CI+. 32-bit instruction variants tested manually on Kabini and Bonaire. Tests and parts of code provided by Jan Veselý. Patch by: Vedran Miletić Reviewers: arsenm, tstellarAMD, nhaehnle Subscribers: jvesely, scchan, kanarayan, arsenm Differential Revision: http://reviews.llvm.org/D17280 llvm-svn: 265170
-
Simon Pilgrim authored
Added SSE + AVX1 tests as well as AVX2 llvm-svn: 265169
-
Mike Aizatsky authored
llvm-svn: 265168
-
Sanjay Patel authored
Note however that this is identical to the existing SSE2 run. What we really want is yet another run for an SSE2 machine that also has fast unaligned 16-byte accesses. llvm-svn: 265167
-
Rafael Espindola authored
llvm-svn: 265166
-
Todd Fiala authored
http://llvm.org/bugs/show_bug.cgi?id=27179 llvm-svn: 265165
-
Simon Pilgrim authored
llvm-svn: 265164
-
Simon Pilgrim authored
Replaced lots of dodgy greps with actual codegen llvm-svn: 265163
-
Bruno Cardoso Lopes authored
The cc1 invocation in the reproducer script should contain a valid path in -fmodule-cache-path; for that reuse "<name>.cache/module" dir we already use to dump the vfs and modules. llvm-svn: 265162
-
Sanjay Patel authored
Follow-up to http://reviews.llvm.org/D18566 and http://reviews.llvm.org/D18676 - where we noticed that an intermediate splat was being generated for memsets of non-zero chars. That was because we told getMemsetStores() to use a 32-bit vector element type, and it happily obliged by producing that constant using an integer multiply. The 16-byte test that was added in D18566 is now equivalent for AVX1 and AVX2 (no splats, just a vector load), but we have PR27141 to track that splat difference. Note that the SSE1 path is not changed in this patch. That can be a follow-up. This patch should resolve PR27100. llvm-svn: 265161
-
Chad Rosier authored
llvm-svn: 265160
-
George Rimar authored
Extracts code for initializing dummies sections to avoid possible duplication in following patches. Differential review: http://reviews.llvm.org/D18691 llvm-svn: 265159
-
David Majnemer authored
A catchswitch is a terminator, instructions cannot be inserted after it. llvm-svn: 265158
-
David Majnemer authored
A catchswitch cannot be preceded by another instruction in the same basic block (other than a PHI node). Instead, insert the extract element right after the materialization of the vectorized value. This isn't optimal but is a reasonable compromise given the constraints of WinEH. This fixes PR27163. llvm-svn: 265157
-
Rui Ueyama authored
Some functions in Writer reports error using HasError, and some reports their return values. This patch makes them to consistently use HasError. llvm-svn: 265156
-
Rui Ueyama authored
Thanks to George Rimor for pointing it out. llvm-svn: 265155
-
Rui Ueyama authored
fixAbsoluteSymbols fixes linker-created symbol addresses. Since we don't create such symbols for relocatable output, we don't need to call this function. llvm-svn: 265154
-
Reid Kleckner authored
Move ifdefs to avoid unused static helpers. Move alignment attribute so that it is respected in GCC and MSVC. llvm-svn: 265153
-
Reid Kleckner authored
llvm-svn: 265152
-
Rui Ueyama authored
assignAddressesRelocatable function did not set addresses to sections despite its name. What it actually did is to set file offsets to sections. assignAddresses function assigned addresses and file offsets to sections. So there was a confusion what they were doing, and they had duplicate code. This patch separates file offset assignments from address assignments. A new function, assignFileOffsets assign file offsets. assignAddresses do not care about file offsets anymore. llvm-svn: 265151
-
Rafael Espindola authored
The extra fix is to note that it still requires copy relocations. Original message: Change how we handle R_MIPS_LO16. Mips aligns PT_LOAD to 16 bits (0x10000). That means that the lower 16 bits are always the same, so we can, effectively, say that the relocation is relative. P.S.: Suggestions for a better name for the predicate are welcome :-) llvm-svn: 265150
-
Rong Xu authored
Refactor the code that gets and creates PGOFuncName meta data so that it can be used in clang's value profile annotation. Differential Revision: http://reviews.llvm.org/D18623 llvm-svn: 265149
-
Sanjay Patel authored
Follow-up to D18566 - where we noticed that an intermediate splat was being generated for memsets of non-zero chars. That was because we told getMemsetStores() to use a 32-bit vector element type, and it happily obliged by producing that constant using an integer multiply. The tests that were added in the last patch are now equivalent for AVX1 and AVX2 (no splats, just a vector load), but we have PR27141 to track that splat difference. In the new tests, the splat via shuffling looks ok to me, but there might be some room for improvement depending on uarch there. Note that the SSE1/2 paths are not changed in this patch. That can be a follow-up. This patch should resolve PR27100. Differential Revision: http://reviews.llvm.org/D18676 llvm-svn: 265148
-
Rafael Espindola authored
This matches the behavior of both bfd and gold. Looks like we just got here for mips because of a bad ordering of an if else chain. llvm-svn: 265147
-
Anastasia Stulova authored
llvm-svn: 265146
-
Benjamin Kramer authored
This avoids undefined behavior when casting pointers to it. Also make sure that we don't cast to a derived StringMapEntry before checking for tombstone, as that may have different alignment requirements. llvm-svn: 265145
-
Vedant Kumar authored
llvm-svn: 265144
-
Rafael Espindola authored
llvm-svn: 265143
-
Rafael Espindola authored
We had almost identical code to handle creating a plt entry in two places. llvm-svn: 265142
-