summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix compiler warning in ArchSpecPavel Labath2015-07-161-10/+10
| | | | llvm-svn: 242397
* Add missing include for android-arm buildTamas Berghammer2015-07-161-0/+1
| | | | llvm-svn: 242396
* [X86] Fix emitPrologue() to make less assumptions about pushesMichael Kuperstein2015-07-161-0/+1
| | | | | | | | | | | | | | | When X86FrameLowering::emitPrologue() looks for where to insert the %esp subtraction to allocate stack space for local allocations, it assumes that any sequence of push instructions that starts at function entry consists purely of spills of callee-save registers. This may be false, since from some point forward, the pushes may pushing arguments to a subsequent function call. This caused a miscompile that was exposed by r240257, and is not easily testable since r240257 was reverted. A test will be committed separately after r240257 is reapplied. llvm-svn: 242395
* Revert "Make ExecutionEngine owning a DataLayout"Michael Kuperstein2015-07-169-61/+55
| | | | | | | | Reverting to fix buildbot breakage. This reverts commit r242387. llvm-svn: 242394
* [Mips] Make helper function static, NFC.Benjamin Kramer2015-07-161-1/+2
| | | | llvm-svn: 242393
* Improve XFAIL for test_lldb_process_load_and_unload_commandsTamas Berghammer2015-07-161-1/+1
| | | | llvm-svn: 242392
* Revert "[NativeProcessLinux] Integrate MainLoop"Pavel Labath2015-07-169-276/+811
| | | | | | This seems to be causing major slowdows on the android buildbot. Reverting while I investigate. llvm-svn: 242391
* Add option to choose where in the pass pipeline polly is runTobias Grosser2015-07-161-6/+70
| | | | | | | These options are useful to play with the location of Polly within LLVM's pass manager. llvm-svn: 242390
* Add PM extension point EP_VectorizerStartTobias Grosser2015-07-162-0/+7
| | | | | | | This extension point allows passes to be executed right before the vectorizer and other highly target specific optimizations are run. llvm-svn: 242389
* Add missing break in switch case in R600ISelLoweringMehdi Amini2015-07-161-0/+1
| | | | | | | | | | | | | Summary: Catched by coverity. Reviewers: arsenm Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11120 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242388
* Make ExecutionEngine owning a DataLayoutMehdi Amini2015-07-169-55/+61
| | | | | | | | | | | | | | | | | | | | 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: 242387
* Move most user of TargetMachine::getDataLayout to the Module oneMehdi Amini2015-07-1637-253/+249
| | | | | | | | | | | | | | | | | | | | | 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. This patch is quite boring overall, except for some uglyness in ASMPrinter which has a getDataLayout function but has some clients that use it without a Module (llmv-dsymutil, llvm-dwarfdump), so some methods are taking a DataLayout as parameter. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11090 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242386
* Remove DataLayout from TargetLoweringObjectFile, redirect to ModuleMehdi Amini2015-07-1615-64/+61
| | | | | | | | | | | | | | | | 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. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11079 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242385
* Redirect pointerSize query to the TargetMachine in ASMPrinterMehdi Amini2015-07-163-8/+15
| | | | | | | | | | | | | | | | | | | Summary: Because llvm-dsymutil is using ASMPrinter without any MachineFunction of Module available. 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. Reviewers: echristo Subscribers: yaron.keren, rafael, llvm-commits Differential Revision: http://reviews.llvm.org/D11078 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 242384
* Actually "RUN:" the tests...Filipe Cabecinhas2015-07-161-12/+12
| | | | llvm-svn: 242383
* [OPENMP] Fixed detection of canonical loops with random access iterators.Alexey Bataev2015-07-167-11/+14
| | | | | | Add handling of iterators with copy/move constructors with default arguments + converting template constructors. llvm-svn: 242382
* [LLDB][MIPS] Detect MIPS application specific extensions like micromipsJaydeep Patil2015-07-167-34/+153
| | | | | | | | | | | | | | SUMMARY: The patch detects MIPS application specific extensions (ASE) like micromips by reading ELF header.e_flags and SHT_MIPS_ABIFLAGS section. MIPS triple does not contain ASE information like micromips, mips16, DSP, MSA etc. These can be read from header.e_flags or SHT_MIPS_ABIFLAGS section. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, lldb-commits Differential Revision: http://reviews.llvm.org/D11133 llvm-svn: 242381
* Only include the stack memory for the caller stackJason Molenda2015-07-161-3/+3
| | | | | | | | | | | | | | | frame, don't go any further, in RNBRemote::SendStopReplyPacketForThread. These are the memory pre-fetches in the T05 packet and are included in every private stop that lldb does. lldb needs, at most, the caller stack frame so we're sending more data than needed by including additional stack memory prefetches in this reply packet. Once we've stopped for a public stop, we're going to do a jThreadsInfo which will include the stack memory prefetches for all threads, including the one which had the stop reason. llvm-svn: 242380
* Build ValueObjectConstResultCast.cpp.Jason Molenda2015-07-161-0/+6
| | | | llvm-svn: 242379
* [Intrin.h] Use compiler builtins to model memory barriersDavid Majnemer2015-07-161-6/+4
| | | | | | | | | | | | | | _ReadBarrier, _WriteBarrier, and _ReadWriteBarrier are essentially memory barriers of one form or another. Model these as atomic_signal_fence(ATOMIC_SEQ_CST). __faststorefence is a curious intrinsic. It's single purpose seems to an alternative to mfence when that instruction is slow. However, mfence is not always slow and is, in general, preferable to a 'lock or' sequence on certain CPUs. Give the compiler freedom to select the best sequence to get a fence. llvm-svn: 242378
* Make sure that __libcpp_compressed_pair_imp default-constructs its' members, ↵Marshall Clow2015-07-162-7/+23
| | | | | | rather than value-initializing them. Fixes PR#24137 llvm-svn: 242377
* [LAA] Split out a helper to check the pointer partitions, NFCAdam Nemet2015-07-162-4/+16
| | | | | | | | | This is made a static public member function to allow the transition of this logic from LAA to LoopDistribution. (Technically, it could be an implementation-local static function but then it would not be accessible from LoopDistribution.) llvm-svn: 242376
* Mark two tests as failing on clang 3.8 (they failed on 3.7, too)Marshall Clow2015-07-162-4/+4
| | | | llvm-svn: 242375
* Add a class ValueObjectConstResultCast.Siva Chandra2015-07-1612-5/+209
| | | | | | | | | | | | | | | | | | | | | Summary: Other changes around the main change include: 1. Add a method Cast to ValueObjectConstResult, ValueObjectConstResultImpl and ValueObjectConstResultChild. 2. Add an argument |live_address| of type lldb::addr_t to the constructor of ValueObjectConstResultChild. This is passed on to the backing ValueObjectConstResultImpl object constructor so that the address of the child value can be calculated properly. Reviewers: granata.enrico, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11203 llvm-svn: 242374
* Revert "[X86] Allow more call sequences to use push instructions for ↵Reid Kleckner2015-07-162-144/+66
| | | | | | | | | | | argument passing" It miscompiles some code and a reduced test case has been sent to the author. This reverts commit r240257. llvm-svn: 242373
* Revert "Update LLVM bindings after r239940. ..."Reid Kleckner2015-07-164-4/+12
| | | | | | | | | | | Revert the changes to the C API LLVMBuildLandingPad that were part of the personality function move. We now set the personality on the parent function when the C API attempts to construct a landingpad with a personality. This reverts commit r240010. llvm-svn: 242372
* PR10405 - Desugar FunctionType and TemplateSpecializationType if any type ↵Nikola Smiljanic2015-07-166-13/+84
| | | | | | that appears inside needs to be desugared. llvm-svn: 242371
* Fix broken testcase from r242358.Alex Lorenz2015-07-161-1/+1
| | | | | | | The testcase failed on non X86 targets, because I forgot to pass the '-march=x86-64' option into llc for one of the X86 specific tests. llvm-svn: 242370
* [ARM] Define a subtarget feature that is used to avoid using movt/movwAkira Hatanaka2015-07-165-16/+61
| | | | | | | | | | | | | | | | | pairs for 32-bit immediates. This change is needed to avoid emitting movt/movw pairs when doing LTO and do so on a per-function basis. Out-of-tree projects currently using cl::opt option -arm-use-movt=0 or false to avoid emitting movt/movw pairs should make changes to add subtarget feature "+no-movt" (see the changes made to clang in r242368). rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11026 llvm-svn: 242369
* [ARM] Pass subtarget feature "+no-movt" instead of passing backend optionAkira Hatanaka2015-07-163-4/+20
| | | | | | | | | | | | | | "-arm-use-movt=0". This change is needed since backend options do not make it to the backend when doing LTO and are not capable of changing the behavior of code-gen passes on a per-function basis. rdar://problem/21529937 Differential Revision: http://reviews.llvm.org/D11025 llvm-svn: 242368
* Trying to fix the windows bots.Rafael Espindola2015-07-161-4/+4
| | | | llvm-svn: 242367
* Revert r242365.Evgeniy Stepanov2015-07-162-0/+39
| | | | | | r242365 removed two unrelated files by accident. llvm-svn: 242366
* updated tests for correct commit, concerning D11198Naomi Musgrave2015-07-162-39/+0
| | | | | | | | | | | | Summary: Updating missed changes in revision D11198 Reviewers: eugenis, kcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11251 llvm-svn: 242365
* updated tests for correct commitNaomi Musgrave2015-07-162-41/+61
| | | | llvm-svn: 242364
* [CMake] Revisit PR23539: allow to override SANITIZER_MIN_OSX_VERSION at ↵Alexey Samsonov2015-07-161-10/+12
| | | | | | | | | | | | | configure time. Some users may need to configure Clang/compiler-rt with -DMACOSX_DEPLOYMENT_TARGET=10.6, as they expect Clang to produce working (non-sanitized) binaries on 10.6. In this case they would need to additionally provide -DSANITIZER_MIN_OSX_VERSION=10.7 to mark that sanitizer runtimes may only be used on 10.7+ (where they are supported). llvm-svn: 242363
* Fix handling of relative paths in thin archives.Rafael Espindola2015-07-162-6/+50
| | | | | | The member has to end up with a path relative to the archive. llvm-svn: 242362
* Clear kill flags in ARMLoadStoreOptimizer.Pete Cooper2015-07-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pass here was clearing kill flags on instructions which had their sources killed in the instruction being combined. But given that the new instruction is inserted after the existing ones, any existing instructions with kill flags will lead to the verifier complaining that we are reading an undefined physreg. For example, what we had prior to this optimization is t2STRi12 %R1, %SP, 12 t2STRi12 %R1<kill>, %SP, 16 t2STRi12 %R0<kill>, %SP, 8 and prior to this fix that would generate t2STRi12 %R1<kill>, %SP, 16 t2STRDi8 %R0<kill>, %R1, %SP, 8 This is clearly incorrect as it didn't clear the kill flag on R1 used with offset 16 because there was no kill flag on the instruction with offset 12. After this change we clear the kill flag on the offset 16 instruction because we know it will be used afterwards in the new instruction. I haven't provided a test case. I have a small test, but even it is very sensitive to register allocation order which isn't ideal. llvm-svn: 242359
* MIR Serialization: Serialize the jump table index operands.Alex Lorenz2015-07-158-6/+233
| | | | | Reviewers: Duncan P. N. Exon Smith llvm-svn: 242358
* MIR Serialization: Serialize the jump table info.Alex Lorenz2015-07-155-1/+212
| | | | | | | | | | | | | | The jump table info is serialized using a YAML mapping that contains its kind and a YAML sequence of jump table entries. A jump table entry is a YAML mapping that has an ID and an inline YAML sequence of machine basic block references. The testcase 'CodeGen/MIR/X86/jump-table-info.mir' doesn't have any instructions because one of them contains a jump table index operand. The jump table index operands will be serialized in a follow up patch, and the appropriate instructions will be added to this testcase. Reviewers: Duncan P. N. Exon Smith llvm-svn: 242357
* Add a test for r242281 from an old patch of mine.Sean Silva2015-07-151-0/+37
| | | | | | This isn't thorough, but should serve as a sanity check. llvm-svn: 242356
* Remove a private member of BranchProbabilityInfo which is not used at all.Cong Hou2015-07-151-3/+0
| | | | | | The member to be removed is LoopInfo *LI. llvm-svn: 242355
* llvm-ar: Don't write the directory in the string table.Rafael Espindola2015-07-152-4/+13
| | | | | | | We were already doing the right thing for short file names, but not long ones. llvm-svn: 242354
* COFF: Fix offset in x86 delay-load thunks.Rui Ueyama2015-07-152-12/+66
| | | | llvm-svn: 242353
* Added the ability to get JSON thread stop info with thread ID and stop info ↵Greg Clayton2015-07-153-62/+124
| | | | | | | | | | only in the normal stop reply packets using the new "jthreads" key value pair. This allows stepping operations that don't ever do a public stop to get all the info they need without having to send a jThreadsInfo packet since those tend to be large. This patch will be followed by a patch that will detect when we do a public stop, and when that happens we will send a jThreadsInfo packet at that time to get all expedited registers and memory. llvm-svn: 242352
* adding tests for various dtor decl typesNaomi Musgrave2015-07-151-4/+59
| | | | | | | | | | Reviewers: eugenis, kcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11189 llvm-svn: 242351
* [probile] Fix memory leak introduced in r241824.Alexey Samsonov2015-07-151-0/+1
| | | | llvm-svn: 242350
* Create a wrapper pass for BranchProbabilityInfo.Cong Hou2015-07-157-70/+100
| | | | | | | | This new wrapper pass is useful when we want to do branch probability analysis conditionally (e.g. only in PGO mode) but don't want to add one more pass dependence. http://reviews.llvm.org/D11241 llvm-svn: 242349
* Silence GCC -Wparenthesis warningDavid Majnemer2015-07-151-3/+2
| | | | llvm-svn: 242348
* For new archive member we only need to store the full path.Rafael Espindola2015-07-154-18/+13
| | | | | | | We were storing both the path and the file name, which was redundant and easy to get confused up with. llvm-svn: 242347
* [clang-cl] Use the Windows response file tokenizerReid Kleckner2015-07-153-42/+83
| | | | | | | | | | | | | | | | | | | | We were still using the Unix response file tokenizer for all driver modes. This was difficult to get right in the beginning because there is a circular dependency. The Driver class also can't officially determine its mode until it can see all possible --driver-mode= flags, and those flags could come from the response file. Now we use the Windows parsing algorithm if the program name looks like clang-cl, or if the --driver-mode=cl flag is present on the main command line. Fixes PR23709. Reviewers: hans Differential Revision: http://reviews.llvm.org/D11229 llvm-svn: 242346
OpenPOWER on IntegriCloud