summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add __has_feature(attribute_availability_with_version_underscores).Jordan Rose2015-07-162-0/+5
| | | | | | | | This goes with r218884 from, um, last autumn. rdar://problem/21754114 llvm-svn: 242480
* Xfail pexpect tests for Windows hosts.Chaoren Lin2015-07-162-2/+2
| | | | llvm-svn: 242457
* Fix ffiInvoke() use of DataLayout, broken in 242414Mehdi Amini2015-07-161-3/+3
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242456
* Include what we use, instead of letting them get pulled in implictly. This ↵Marshall Clow2015-07-163-0/+5
| | | | | | makes the tests work on VS. Thanks to STL for the report llvm-svn: 242454
* Add missing REQUIRES to this test.Sean Silva2015-07-161-0/+1
| | | | | | An internal builder was failing. llvm-svn: 242452
* [SCEV][NFC] Use triple-slash (///) for comment.Sanjoy Das2015-07-161-5/+6
| | | | | | | Makes the comments for proveNoWrapByVaryingStart consistent with the rest of ScalarEvolution.h llvm-svn: 242451
* Documentation cleanup. No functional change intended.James Dennett2015-07-161-155/+147
| | | | llvm-svn: 242450
* [ASan] PR24150: restrict test case to i386.Alexey Samsonov2015-07-161-1/+1
| | | | llvm-svn: 242449
* Fix spelling. NFCI.Simon Pilgrim2015-07-161-3/+3
| | | | llvm-svn: 242448
* AArch64: make inexact signalling on round Darwin-specificTim Northover2015-07-163-76/+147
| | | | | | | | | C11 leaves the choice on whether round-to-integer operations set the inexact flag implementation-defined. Darwin does expect it to be set, but this seems to be against the intent of the IEEE document and slower to implement anyway. So it should be opt-in. llvm-svn: 242446
* [CMake] One more attempt to fix PR24144.Alexey Samsonov2015-07-161-2/+1
| | | | | | This time, exclude ExternalProject from build using set_target_properties. llvm-svn: 242444
* [X86][SSE] Added nounwind attribute to vector shift tests.Simon Pilgrim2015-07-166-128/+96
| | | | | | Stop i686 codegen from generating cfi directives. llvm-svn: 242443
* [PowerPC] v4i32 is a VSRCRegClassBill Schmidt2015-07-163-39/+39
| | | | | | | | | | | | | | | | I was looking at some vector code generation and kept seeing unnecessary vector copies into the Altivec half of the VSX registers. I discovered that we overlooked v4i32 when adding the register classes for VSX; we only added v4f32 and v2f64. This means that anything that canonicalizes into v4i32 (which is a LOT of stuff) ends up being forced into VRRC on its way to VSRC. The fix is one line. The rest of the patch is fixing up some test cases whose code generation has changed as a result. This seems like it would be a good candidate for backport to 3.7. llvm-svn: 242442
* List supported architectures for StackMap section and related intrinsicsPhilip Reames2015-07-162-0/+16
| | | | | | Not having this documented led to some confusion in a recent review thread. llvm-svn: 242441
* [X86][SSE] Updated vector conversion test names.Simon Pilgrim2015-07-162-201/+201
| | | | | | I'll be adding further tests shortly so need a more thorough naming convention. llvm-svn: 242440
* Streamline the coding style in NVPTXLowerAggrCopiesEli Bendersky2015-07-161-111/+127
| | | | | | Make the style consistent with LLVM style throughout and clang-format. llvm-svn: 242439
* MachineInstr: Explain the subtle semantics of uses()/defs()Matthias Braun2015-07-161-0/+6
| | | | llvm-svn: 242438
* [NVPTX] enable SpeculativeExecution in NVPTXJingyue Wu2015-07-162-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: SpeculativeExecution enables a series straight line optimizations (such as SLSR and NaryReassociate) on conditional code. For example, if (...) ... b * s ... if (...) ... (b + 1) * s ... speculative execution can hoist b * s and (b + 1) * s from then-blocks, so that we have ... b * s ... if (...) ... ... (b + 1) * s ... if (...) ... Then, SLSR can rewrite (b + 1) * s to (b * s + s) because after speculative execution b * s dominates (b + 1) * s. The performance impact of this change is significant. It speeds up the benchmarks running EigenFloatContractionKernelInternal16x16 (https://bitbucket.org/eigen/eigen/src/ba68f42fa69e4f43417fe1e52669d4dd5d2b3bee/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h?at=default#cl-526) by roughly 2%. Some internal benchmarks that have the above code pattern are improved by up to 40%. No significant slowdowns are observed on Eigen CUDA microbenchmarks. Reviewers: jholewinski, broune, eliben Subscribers: llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11201 llvm-svn: 242437
* AArch64: Implement conditional compare sequence matching.Matthias Braun2015-07-165-76/+443
| | | | | | | | | | | | | | | This is a new iteration of the reverted r238793 / http://reviews.llvm.org/D8232 which wrongly assumed that any and/or trees can be represented by conditional compare sequences, however there are some restrictions to that. This version fixes this and adds comments that explain exactly what types of and/or trees can actually be implemented as conditional compare sequences. Related to http://llvm.org/PR20927, rdar://18326194 Differential Revision: http://reviews.llvm.org/D10579 llvm-svn: 242436
* Make sure we calculate resolver symbol addresses correctly for ARM. The trie ↵Greg Clayton2015-07-161-8/+14
| | | | | | | | entries have bit 0 set for Thumb functions and we need to remove that so we can correctly determine which symbols are resolvers. <rdar://problem/21396553> llvm-svn: 242435
* AMDPGU/SI: Negative offsets aren't allowed in MUBUF's vaddr operandTom Stellard2015-07-163-18/+50
| | | | | | | | | | Reviewers: arsenm Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11226 llvm-svn: 242434
* AMDPGU/SI: Use AssertZext node to mask high bit for scratch offsetsTom Stellard2015-07-164-3/+39
| | | | | | | | | | | | | | Summary: We can safely assume that the high bit of scratch offsets will never be set, because this would require at least 128 GB of GPU memory. Reviewers: arsenm Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11225 llvm-svn: 242433
* [SemaType] Use a range loop.Davide Italiano2015-07-161-4/+2
| | | | llvm-svn: 242432
* LiveInterval: Document and enforce rules about empty subranges.Matthias Braun2015-07-164-0/+11
| | | | | | | | | Empty subranges are not allowed in a LiveInterval and must be removed instead: Check this in the verifiers, put a reminder for this in the comment of the shrinkToUses variant for a single lane and make it automatic for the shrinkToUses variant for a LiveInterval. llvm-svn: 242431
* Do not duplicate method name in comment, remove duplicate commentMatthias Braun2015-07-162-10/+6
| | | | llvm-svn: 242430
* Delete an unused function.Rafael Espindola2015-07-161-16/+0
| | | | | | Patch by Xan López! llvm-svn: 242429
* Revert "Add missing load/store flags to thumb2 instructions."Pete Cooper2015-07-162-5/+2
| | | | | | | | | | This reverts commit r242300. This is causing buildbot failures which we are investigating. I'll reapply once we know whats going on, but for now want to get the bots green. llvm-svn: 242428
* COFF: Set Load Configuration entry in Data Directory.Rui Ueyama2015-07-162-0/+48
| | | | | | | | | Load Configuration field points to a structure containing information for SEH. That data strucutre is not created by the linker but provided by an external file. What we have to do is just to set __load_config_used address to the header. llvm-svn: 242427
* Rename LoopInfo::Analyze() to LoopInfo::analyze() and turn its parameter ↵Cong Hou2015-07-166-7/+47
| | | | | | | | | | type to const&. The benefit of turning the parameter of LoopInfo::analyze() to const& is that it now can accept a rvalue. http://reviews.llvm.org/D11250 llvm-svn: 242426
* [CMake] Workaround for PR24144: avoid installing libcxx_tsan and libcxx_msan ↵Alexey Samsonov2015-07-161-0/+2
| | | | | | | | | | | | | | | | by default "ninja install" command. Summary: Exclude external libc++ builds from "all" target, so that they are only build on demand, and are not installed together with LLVM/Clang. Reviewers: hans Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11252 llvm-svn: 242424
* Internalize: internalize comdat members as a group, and drop comdat on such ↵Peter Collingbourne2015-07-162-26/+123
| | | | | | | | | | | | | | | | | | | | members. Internalizing an individual comdat group member without also internalizing the other members of the comdat can break comdat semantics. For example, if a module contains a reference to an internalized comdat member, and the linker chooses a comdat group from a different object file, this will break the reference to the internalized member. This change causes the internalizer to only internalize comdat members if all other members of the comdat are not externally visible. Once a comdat group has been fully internalized, there is no need to apply comdat rules to its members; later optimization passes (e.g. globaldce) can legally drop individual members of the comdat. So we drop the comdat attribute from all comdat members. Differential Revision: http://reviews.llvm.org/D10679 llvm-svn: 242423
* Fixed an error in cuda-options.cu test:Artem Belevich2015-07-161-7/+7
| | | | | | -target option must be used without '='. llvm-svn: 242422
* Set the libc++ version # to 3.7. Will bump to 3.8 soonMarshall Clow2015-07-161-1/+1
| | | | llvm-svn: 242421
* Disable #pragma redefine_extname for C++ code as it does not make sense in ↵Aaron Ballman2015-07-165-22/+49
| | | | | | | | such a context. Patch by Andrey Bokhanko! llvm-svn: 242420
* [NVPTX] Don't leak dead instructions after unlinking them from the BasicBlockBenjamin Kramer2015-07-161-2/+2
| | | | llvm-svn: 242417
* Fix Kaleidoscope tuto: ExecutionEngine->getDataLayout() returns a refMehdi Amini2015-07-165-5/+5
| | | | | From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242416
* Fix test/COFF/dll.test after r242342.Nico Weber2015-07-161-0/+1
| | | | | | | r242342 removed the RUN line that wrote t2.obj, but another RUN line further down still reads t2.obj, so add it back. llvm-svn: 242415
* Make ExecutionEngine owning a DataLayoutMehdi Amini2015-07-169-55/+74
| | | | | | | | | | | | | | | | | | | | Summary: This change is part of a series of commits dedicated to have a single DataLayout during compilation by using always the one owned by the module. The ExecutionEngine will act as an exception and will be unsafe to be reused across context. We don't enforce this rule but undefined behavior can occurs if the user tries to do it. Reviewers: lhames Subscribers: echristo, llvm-commits, rafael, yaron.keren Differential Revision: http://reviews.llvm.org/D11110 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242414
* Correct lowering of memmove in NVPTXEli Bendersky2015-07-163-83/+264
| | | | | | | | | | This fixes https://llvm.org/bugs/show_bug.cgi?id=24056 Also a bit of refactoring along the way. Differential Revision: http://reviews.llvm.org/D11220 llvm-svn: 242413
* AMDGPU/R600: Remove unused variableTom Stellard2015-07-161-1/+0
| | | | | | This fixes a warning introduced by r242410. llvm-svn: 242412
* AMDPGU/R600: Replace llvm_unreachable() call with LLVMContext::emitError()Tom Stellard2015-07-161-12/+3
| | | | | | | | | | | | | | | | Summary: This fixes an issue on MIPS where the infinite-loop-evergreen.ll test was failing to terminate. Fixes PR24147. Reviewers: arsenm, dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11260 llvm-svn: 242410
* [Codegen] Add intrinsics 'absdiff' and corresponding SDNodes for absolute ↵James Molloy2015-07-1611-0/+363
| | | | | | | | | | | | | difference operation This adds new intrinsics "*absdiff" for absolute difference ops to facilitate efficient code generation for "sum of absolute differences" operation. The patch also contains the introduction of corresponding SDNodes and basic legalization support.Sanity of the generated code is tested on X86. This is 1st of the three patches. Patch by Shahid Asghar-ahmad! llvm-svn: 242409
* - TargetParser does not handle armv7l in parseArchProfile().Alexandros Lamprineas2015-07-161-0/+1
| | | | | | | | - ARM V7L matches the 'A' profile of ARM architecture. Change-Id: I80c8b973f5c93fb040c177a227644d56b1b83ea8 Phabricator: http://reviews.llvm.org/D11261 llvm-svn: 242406
* clang-format: [Proto] Handle enum bodies differently.Daniel Jasper2015-07-162-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | In proto, enum constants can contain complex options and should be handled more like individual declarations. Before: enum Type { UNKNOWN = 0 [(some_options) = { a: aa, b: bb }]; }; After: enum Type { UNKNOWN = 0 [(some_options) = { a: aa, b: bb }]; }; llvm-svn: 242404
* Fix compiler warning in ThreadPlanStepRangePavel Labath2015-07-161-1/+1
| | | | llvm-svn: 242403
* Add jThreadsInfo support to lldb-serverPavel Labath2015-07-167-30/+243
| | | | | | | | | | | | | | | Summary: This commit adds initial support for the jThreadsInfo packet to lldb-server. The current implementation does not expedite inferior memory. I have also added a description of the new packet to our protocol documentation (mostly taken from Greg's earlier commit message). Reviewers: clayborg, ovyalov, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11187 llvm-svn: 242402
* Revert "Default to linking lldb-server statically for Android."Tamas Berghammer2015-07-162-15/+6
| | | | | | | | | With static linking lldb-server crashes in platform mode when tries to listen on localhost:5432 on the android build bot. This reverts commit 3ea861707dec8423746679ff496e4fd03255d4cf. llvm-svn: 242401
* Fix memcheck interval ends for pointers with negative stridesSilviu Baranga2015-07-162-2/+107
| | | | | | | | | | | | | | | | | | | | | | | | Summary: The checking pointer grouping algorithm assumes that the starts/ends of the pointers are well formed (start <= end). The runtime memory checking algorithm also assumes this by doing: start0 < end1 && start1 < end0 to detect conflicts. This check only works if start0 <= end0 and start1 <= end1. This change correctly orders the interval ends by either checking the stride (if it is constant) or by using min/max SCEV expressions. Reviewers: anemet, rengolin Subscribers: rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D11149 llvm-svn: 242400
* [X86] Test for r242395 (Fix emitPrologue() to make less assumptions about ↵Michael Kuperstein2015-07-161-0/+19
| | | | | | pushes) llvm-svn: 242399
* [X86] Reapply r240257 : "Allow more call sequences to use push instructions ↵Michael Kuperstein2015-07-162-66/+144
| | | | | | | | | | | for argument passing" This allows more call sequences to use pushes instead of movs when optimizing for size. In particular, calling conventions that pass some parameters in registers (e.g. thiscall) are now supported. This should no longer cause miscompiles, now that a bug in emitPrologue was fixed in r242395. llvm-svn: 242398
OpenPOWER on IntegriCloud