summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [X86] Lower SEXTLOAD using SIGN_EXTEND_VECTOR_INREG. NCI.Simon Pilgrim2015-10-031-22/+5
| | | | | | The custom lowering in LowerExtendedLoad is doing the equivalent shuffle, so make use of existing lowering code to reduce duplication. llvm-svn: 249243
* Remove unnecessary includes.Rafael Espindola2015-10-031-7/+0
| | | | llvm-svn: 249242
* Move registerSection out of line and reduce #includes. NFC.Rafael Espindola2015-10-032-8/+9
| | | | llvm-svn: 249241
* [X86][SSE] Add FADD combine tests.Simon Pilgrim2015-10-031-0/+196
| | | | llvm-svn: 249240
* IslExprBuilder: Use AssertingVH for IdToValueTyTobias Grosser2015-10-032-5/+5
| | | | llvm-svn: 249239
* ScopInfo: Use AssertingVH in mapsTobias Grosser2015-10-031-4/+4
| | | | | | | By using asserting value handles, we will get assertions when we forget to clear any of the Value maps instead of difficult to debug undefined behavior. llvm-svn: 249238
* BlockGenerator: Use AssertingVH in mapsTobias Grosser2015-10-032-7/+7
| | | | | | | By using asserting value handles, we will get assertions when we forget to clear any of the Value maps instead of difficult to debug undefined behavior. llvm-svn: 249237
* [DAGCombiner] Merge SIGN_EXTEND_INREG vector constant folding methods. NCI.Simon Pilgrim2015-10-032-26/+6
| | | | | | | | | | visitSIGN_EXTEND_INREG calls SelectionDAG::getNode to constant fold scalar constants but handles vector constants itself, despite getNode being capable of dealing with them. This required a minor change to the getNode implementation to actually deal with cases where the scalars of a BUILD_VECTOR were wider integers than the vector type - which was the only extra ability of the visitSIGN_EXTEND_INREG implementation. No codegen intended and all existing tests remain the same. llvm-svn: 249236
* Replace double negation of !FileID.isInvalid() with FileID.isValid().Yaron Keren2015-10-0322-31/+32
| | | | | | +couple more of double-negated !SourceLocation.isInvalid() unfixed in r249228. llvm-svn: 249235
* Accept --dynamic-linker in addition to -dynamic-linker.Ed Maste2015-10-031-1/+1
| | | | | | This matches what bfd ld accepts. llvm-svn: 249234
* Add PersistentVariableDelegate to handle language-specific dematerialization.Sean Callanan2015-10-039-60/+168
| | | | | | | | | | | | | | | | | | | | | | | | The concept here is that languages may have different ways of communicating results. In particular, languages may have different names for their result variables and in fact may have multiple types of result variables (e.g., error results). Materializer was tied to one specific model of result handling. Instead, now UserExpressions can register their own handlers for the result variables they inject. This allows language-specific code in Materializer to be moved into the expression parser plug-in, and it simplifies Materializer. These delegates are subclasses of PersistentVariableDelegate. PersistentVariableDelegate can provide the name of the result variable, and is notified when the result variable is populated. It can also be used to touch persistent variables if need be, updating language-specific state. The UserExpression owns the delegate and can decide on its result based on consulting all of its (potentially multiple) delegates. The user expression itself now makes the determination of what the final result of the expression is, rather than relying on the Materializer, and I've added a virtual function to UserExpression to allow this. llvm-svn: 249233
* fix previous commitSaleem Abdulrasool2015-10-031-6/+6
| | | | | | Forgot to add the '='. In cl mode, --target must have an '='. llvm-svn: 249232
* [libFuzzer] trying to fix at-exit hangKostya Serebryany2015-10-031-1/+1
| | | | llvm-svn: 249231
* Add -rpath= alias for -rpathEd Maste2015-10-031-0/+1
| | | | llvm-svn: 249230
* try to fix the ARM self host botsSaleem Abdulrasool2015-10-031-3/+6
| | | | | | | | The default target is ARM on the ARM self host bots. This is problematic since the behaviour on x86, x64 is different from ARM. Explicitly pass the target. This should hopefully fix the ARM bots. llvm-svn: 249229
* Replace double-negated !SourceLocation.isInvalid() with ↵Yaron Keren2015-10-0310-15/+15
| | | | | | SourceLocation.isValid(). llvm-svn: 249228
* Driver: follow WoA ABI recommendationsSaleem Abdulrasool2015-10-032-0/+44
| | | | | | | | | | The Windows on ARM ABI recommends that FPO be disabled. This is since the Windows on ARM ABI uses the FP for fast stack walking. By paying the slight cost of the loss of registers, a much faster backtrace is possible by using the frame pointer since the pdata need not be consulted. Furthermore, even if pdata is not available, you can still more easily reconstruct the stack. llvm-svn: 249227
* [libcxx] Use newest supported language dialect when running the test suite.Eric Fiselier2015-10-031-1/+14
| | | | | | | | | | | | | | | Summary: Currently the test suite defaults to C++11 mode if no standard version is supplied to LIT using `--param=std=c++XX`. This patch changes that behavior so that the newest possible dialect is selected instead. I have already patched the C++11 bot to explicitly specify `--param=std=c++11`. I'm just putting this up for review to see if anybody objects to this idea. Reviewers: mclow.lists, jroelofs, danalbert Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13331 llvm-svn: 249226
* [WebAssembly] Implement the remaining conversion operations.Dan Gohman2015-10-032-34/+257
| | | | | | | This is a temporary assembly syntax that will likely evolve along with broader upcoming syntax changes. llvm-svn: 249225
* Use early return. NFC.Rafael Espindola2015-10-031-12/+12
| | | | llvm-svn: 249224
* Fix clang/test/CodeGenCXX/strict-vtable-pointers.cpp for -Asserts. It missed ↵NAKAMURA Takumi2015-10-031-1/+1
| | | | | | something. :) llvm-svn: 249223
* Try to appease MSVC, NFCI.Sanjoy Das2015-10-031-90/+91
| | | | | | | | This time by lifting the lambda's in `createNodeFromSelectLikePHI` to the file scope. Looks like there are differences in capture rules between clang and MSVC? llvm-svn: 249222
* AMDGPU/SI: Remove unused tablegen multiclassTom Stellard2015-10-031-16/+0
| | | | | | | | | | Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D13395 llvm-svn: 249221
* Disallow assigning symbol a null section.Rafael Espindola2015-10-034-14/+2
| | | | | | | They are constructed without one and they can't go back, so this was effectively dead code. llvm-svn: 249220
* Try to appease the MSVC bots, NFCI.Sanjoy Das2015-10-031-1/+1
| | | | llvm-svn: 249219
* [WebAssembly] Rename setlocal to set_local to match the spec.Dan Gohman2015-10-0321-304/+304
| | | | llvm-svn: 249218
* [WebAssembly] Update this test for the new loop scheme.Dan Gohman2015-10-021-1/+1
| | | | llvm-svn: 249217
* Try to appease the MSVC bots, NFC.Sanjoy Das2015-10-021-1/+2
| | | | llvm-svn: 249216
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-022-2/+4
| | | | | | int instead of void. (following llvm r249214) llvm-svn: 249215
* [libFuzzer] make LLVMFuzzerTestOneInput (the fuzzer target function) return ↵Kostya Serebryany2015-10-0223-42/+77
| | | | | | int instead of void. The actual return value is not *yet* used (and expected to be 0). This change is API breaking, so the fuzzers will need to be updated. llvm-svn: 249214
* [Headers][X86] Fix stream_load (movntdqa) to accept const*.Ahmed Bougacha2015-10-025-8/+8
| | | | | | | | | | Per Intel intrinsics guide: - _mm256_stream_load_si256 takes `__m256i const *' - _mm_stream_load_si128 takes `__m128i *', for no good reason. Let's accept const* for both. llvm-svn: 249213
* Fix comment ASCII art to unbreak the gcc 4.9.1 buildSanjoy Das2015-10-021-8/+8
| | | | | | | | The trailing backslashes in some ASCII art added in r248527 cause a "error: multi-line comment [-Werror=comment]" when building with gcc 4.9.1 -Wall. Swallow (ASCII-)artistic integrity and use pipes instead. llvm-svn: 249212
* [SCEV] Recognize simple br-phi patternsSanjoy Das2015-10-023-143/+396
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Teach SCEV to match patterns like ``` br %cond, label %left, label %right left: br label %merge right: br label %merge merge: V = phi [ %x, %left ], [ %y, %right ] ``` as "select %cond, %x, %y". Before this SCEV would match PHI nodes exclusively to add recurrences. This addresses PR25005. Reviewers: joker.eph, joker-eph, atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13378 llvm-svn: 249211
* Do not attempt to join the remote paths if none existEnrico Granata2015-10-021-1/+1
| | | | llvm-svn: 249210
* Re-disable TestBuiltinTrap on Windows.Zachary Turner2015-10-021-0/+1
| | | | | | This was inadvertently re-enabled as a in r248883. llvm-svn: 249209
* Updated xfail / skip status on a few tests.Zachary Turner2015-10-024-2/+2
| | | | | | | | | | TestDiamond and TestSBValueCast were due to a bug in clang. That bug has been fixed, so xfail is removed. However fixing that bug exposed another bug in clang, which is not yet fixed. That bug causes one test to start crashing, and another to fail unexpectedly so the status of those tests is updated as well. llvm-svn: 249208
* Remove instance reference of static member function.Zachary Turner2015-10-021-9/+8
| | | | llvm-svn: 249207
* Have a clean(er) shutdown when detaching from a process.Zachary Turner2015-10-021-20/+19
| | | | llvm-svn: 249206
* Don't nil check non-nil class receiver of AArch64 stret calls.Ahmed Bougacha2015-10-022-7/+10
| | | | | | | | | | | I randomly came across this difference between AArch64 and other targets: on the latter, we don't emit nil checks for known non-nil class method calls thanks to r247350, but we still do for AArch64 stret calls. They use different code paths, because those are special, as they go through the regular msgSend, not the msgSend*_stret variants. llvm-svn: 249205
* [elf2] Remove unused flag in test.Michael J. Spencer2015-10-021-1/+1
| | | | llvm-svn: 249204
* Fix TestCompDirSymLink.py - remove existing symlink leftovers if previous ↵Oleksiy Vyalov2015-10-021-0/+2
| | | | | | | | test run was terminated (e.g., due timeout). llvm-svn: 249203
* [CMake] We need to explicitly add llvm-config before clang so that ↵Chris Bieneman2015-10-021-2/+3
| | | | | | | | LLVM_BUILD_EXTERNAL_COMPILER_RT can depend on llvm-config. This patch is a required stepping stone to fix PR14109. llvm-svn: 249202
* [ELF/AArch64] Fix a couple of typos. My bad, sorry.Davide Italiano2015-10-021-1/+1
| | | | llvm-svn: 249201
* ELF2: Use less templates so that we can use struct assignment. NFC.Rui Ueyama2015-10-021-33/+20
| | | | llvm-svn: 249200
* [CMake] [darwin] [builtins] Add INSTALL_DIR to darwin_lipo_libsChris Bieneman2015-10-021-5/+11
| | | | | | The darwin and macho_embedded libraries get installed to different locations, so we need to feed through an INSTALL_PATH. llvm-svn: 249199
* [ELF2/AArch64] Add comment and change name to match the one of the ABI.Davide Italiano2015-10-021-2/+5
| | | | | | Fix style while I'm here. llvm-svn: 249198
* Emiting invariant.group.barrier for ctors bugfixPiotr Padlewski2015-10-023-26/+43
| | | | | | | | | | | | | Ensure that the vptr store in the most-derived constructor is not behind an invariant group barrier. Previously, the base-most vptr store would be the one behind no barrier, and that could result in the creator of the object thinking it had the base-most vtable. This bug caused clang call pure virtual functions when called from constructor body. http://reviews.llvm.org/D13373 llvm-svn: 249197
* inariant.group handling in GVNPiotr Padlewski2015-10-0210-39/+521
| | | | | | | | | | | | The most important part required to make clang devirtualization works ( ͡°͜ʖ ͡°). The code is able to find non local dependencies, but unfortunatelly because the caller can only handle local dependencies, I had to add some restrictions to look for dependencies only in the same BB. http://reviews.llvm.org/D12992 llvm-svn: 249196
* [ELF2/AArch64] Add support for R_AARCH64_ADR_PREL_PG_H121Davide Italiano2015-10-022-5/+37
| | | | llvm-svn: 249195
* [libFuzzer] remove experimental flag and functionalityKostya Serebryany2015-10-025-38/+3
| | | | llvm-svn: 249194
OpenPOWER on IntegriCloud