summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* [asan] don't instrument linker-initialized globals even with external ↵Kostya Serebryany2012-11-201-1/+23
| | | | | | linkage in -asan-initialization-order mode llvm-svn: 168367
* [asan] make sure that linker-initialized globals (non-extern) are not ↵Kostya Serebryany2012-11-201-1/+20
| | | | | | instrumented even in -asan-initialization-order mode. This time with a test llvm-svn: 168366
* llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.NAKAMURA Takumi2012-11-201-0/+3
| | | | llvm-svn: 168364
* Fix PR14132 and handle OOB loads speculated throuh PHI nodes.Chandler Carruth2012-11-201-0/+35
| | | | | | | | | | | | The issue is that we may end up with newly OOB loads when speculating a load into the predecessors of a PHI node, and this confuses the new integer splitting logic in some cases, triggering an assertion failure. In fact, the branch in question must be dead code as it loads from a too-narrow alloca. Add code to handle this gracefully and leave the requisite FIXMEs for both optimizing more aggressively and doing more to aid sanitizing invalid code which triggers these patterns. llvm-svn: 168361
* Fix physical register liveness calculations:Tim Northover2012-11-201-0/+20
| | | | | | | + Take account of clobbers + Give outputs priority over inputs since they happen later. llvm-svn: 168360
* Intel OCL built-ins calling conventions now support MacOS 32-bit.Elena Demikhovsky2012-11-201-36/+58
| | | | llvm-svn: 168359
* Marking remote mcjit tests as XFAIL for MIPS.Simon Atanasyan2012-11-207-7/+7
| | | | llvm-svn: 168357
* Rework the rewriting of loads and stores for vector and integer allocasChandler Carruth2012-11-203-26/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | to properly handle the combinations of these with split integer loads and stores. This essentially replaces Evan's r168227 by refactoring the code in a different way, and trynig to mirror that refactoring in both the load and store sides of the rewriting. Generally speaking there was some really problematic duplicated code here that led to poorly founded assumptions and then subtle bugs. Now much of the code actually flows through and follows a more consistent style and logical path. There is still a tiny bit of duplication on the store side of things, but it is much less bad. This also changes the logic to never re-use a load or store instruction as that was simply too error prone in practice. I've added a few tests (one a reduction of the one in Evan's original patch, which happened to be the same as the report in PR14349). I'm going to look at adding a few more tests for things I found and fixed in passing (such as the volatile tests in the vectorizable predicate). This patch has survived bootstrap, and modulo one bugfix survived Duncan's test suite, but let me know if anything else explodes. llvm-svn: 168346
* Factor out type info emission into separate routine.Anton Korobeynikov2012-11-191-0/+77
| | | | | | | It turned out that ARM wants different layout of type infos. This is yet another patch in attempt to fix PR7187 llvm-svn: 168325
* Handle mixed normal and early-clobber defs on inline asm.Jakob Stoklund Olesen2012-11-191-0/+7
| | | | | | PR14376. llvm-svn: 168320
* Enable MCJIT tests on PowerPC.Ulrich Weigand2012-11-192-2/+14
| | | | | | Disable old JIT tests on PowerPC. llvm-svn: 168316
* Fix PR14060, an infinite loop in reassociate. The problem was that one of theDuncan Sands2012-11-181-0/+19
| | | | | | | | | | operands of the expression being written was wrongly thought to be reusable as an inner node of the expression resulting in it turning up as both an inner node *and* a leaf, creating a cycle in the def-use graph. This would have caused the verifier to blow up if things had gotten that far, however it managed to provoke an infinite loop first. llvm-svn: 168291
* Use a full triple for a PPC test case for asm syntax.Andrew Trick2012-11-181-3/+3
| | | | llvm-svn: 168283
* MCJIT: [cygming] Give noop to __main also in RecordingMemoryManger. It is ↵NAKAMURA Takumi2012-11-187-7/+7
| | | | | | | | emitted in @main(). XFAIL(s) can be removed. llvm-svn: 168282
* test/ExecutionEngine/MCJIT/stubs-remote.ll: Prune DOSish CRLF.NAKAMURA Takumi2012-11-181-36/+36
| | | | llvm-svn: 168281
* Don't try to calculate the alignment of an unsigned type. Fixes PR14371!Nick Lewycky2012-11-181-0/+16
| | | | llvm-svn: 168280
* Silence the buildbots for this test while I figure out the tripleAndrew Trick2012-11-171-2/+2
| | | | llvm-svn: 168249
* Broaden isSchedulingBoundary to check aliases of SP.Andrew Trick2012-11-171-0/+33
| | | | | | | | On PPC the stack pointer is X1, but ADJCALLSTACK writes R1. Fixes PR14315: Register regmask dependency problem with misched. llvm-svn: 168248
* Phi speculation improvement for BasicAAHal Finkel2012-11-171-0/+71
| | | | | | | | | | | | This is a partial solution to PR14351. It removes some of the special significance of the first incoming phi value in the phi aliasing checking logic in BasicAA. In the context of a loop, the old logic assumes that the first incoming value is the interesting one (meaning that it is the one that comes from outside the loop), but this is often not the case. With this change, we now test first the incoming value that comes from a block other than the parent of the phi being tested. llvm-svn: 168245
* Mark FP_EXTEND form v2f32 to v2f64 as "expand" for ARM NEON. Patch by Pete ↵Eli Friedman2012-11-171-0/+8
| | | | | | Couperus. llvm-svn: 168240
* [fast-isel] Add the -verify-machineinstrs to these test cases. The remainingChad Rosier2012-11-178-15/+15
| | | | | | | test cases require fixes to fast-isel before the verifier can be enabled. Part of rdar://12594152 llvm-svn: 168233
* LoopVectorizer: Add initial support for pointer induction variables (for ↵Nadav Rotem2012-11-171-2/+1
| | | | | | | | example: *dst++ = *src++). At the moment we still require to have an integer induction variable (for example: i++). llvm-svn: 168231
* Initial implementation of MipsTargetLowering::isLegalAddressingMode.Akira Hatanaka2012-11-171-0/+41
| | | | llvm-svn: 168230
* Teach SROA rewriteVectorizedStoreInst to handle cases when the loaded value ↵Evan Cheng2012-11-171-0/+25
| | | | | | is narrower than the stored value. rdar://12713675 llvm-svn: 168227
* Marking remote mcjit tests as XFAIL for cygwin (hopefully only temporarily).Andrew Kaylor2012-11-172-2/+2
| | | | llvm-svn: 168226
* Marking remote mcjit tests as XFAIL for mingw32 (hopefully only temporarily).Andrew Kaylor2012-11-167-7/+7
| | | | llvm-svn: 168221
* Marking remote mcjit tests as XFAIL for ARM (hopefully only temporarily).Andrew Kaylor2012-11-167-0/+7
| | | | llvm-svn: 168210
* Remove hard coded registers in ARM ldrexd and strexd instructionsWeiming Zhao2012-11-161-41/+41
| | | | | | | | | This patch replaces the hard coded GPR pair [R0, R1] of Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with even/odd GPRPair reg class. Similar to the lowering of atomic_64 operation. llvm-svn: 168207
* Make sure FABS on v2f32 and v4f32 is legal on ARM NEONAnton Korobeynikov2012-11-161-0/+17
| | | | | | This fixes PR14359 llvm-svn: 168200
* Fix handling of aliases to functions.Richard Osborne2012-11-161-0/+32
| | | | | | An alias to a function should use pc relative addressing. llvm-svn: 168199
* [NVPTX] Order global variables in def-use order before emiting them in the ↵Justin Holewinski2012-11-161-0/+20
| | | | | | final assembly llvm-svn: 168198
* Preserve address space of forward-referenced global variables in the LL parserJustin Holewinski2012-11-161-0/+8
| | | | | | | | | | | | Before, the parser would assert on the following code: @a2 = global i8 addrspace(1)* @a @a = addrspace(1) global i8 0 because the type of @a was "i8*" instead of "i8 addrspace(1)*" when parsing the initializer for @a2. llvm-svn: 168197
* Added program header emissionHemant Kulkarni2012-11-161-3/+45
| | | | llvm-svn: 168195
* InstructionSimplify should be able to simplify A+B==B+A to 'true'Duncan Sands2012-11-161-0/+9
| | | | | | but wasn't due to the same logic bug that caused PR14361. llvm-svn: 168186
* Fix PR14361: wrong simplification of A+B==B+A. You may think that the old logicDuncan Sands2012-11-161-0/+18
| | | | | | | | | replaced by this patch is equivalent to the new logic, but you'd be wrong, and that's exactly where the bug was. There's a similar bug in instsimplify which manifests itself as instsimplify failing to simplify this, rather than doing it wrong, see next commit. llvm-svn: 168181
* Adding new tests to test lli's pseudo-remote feature (-remote-mcjit).Andrew Kaylor2012-11-167-0/+220
| | | | llvm-svn: 168180
* llvm/test/CodeGen/X86/hipe-cc*.ll: Add explicit -mcpu, or they don't expect ↵NAKAMURA Takumi2012-11-162-2/+2
| | | | | | to pass on Atom. llvm-svn: 168171
* Add the Erlang/HiPE calling convention, patch by Yiannis Tsiouris.Duncan Sands2012-11-162-0/+164
| | | | llvm-svn: 168166
* Add MCJIT test case for running global constructors.Amara Emerson2012-11-161-0/+21
| | | | llvm-svn: 168149
* Constant::IsThreadDependent(): Use dyn_cast<Constant> instead of castHans Wennborg2012-11-161-0/+20
| | | | | | | | | | | It turns out that the operands of a Constant are not always themselves Constant. For example, one of the operands of BlockAddress is BasicBlock, which is not a Constant. This should fix the dragonegg-x86_64-linux-gcc-4.6-test build which broke in r168037. llvm-svn: 168147
* Use roundps/pd for llvm.ceil, llvm.trunc, llvm.rint, and llvm.nearbyint of ↵Craig Topper2012-11-161-0/+144
| | | | | | vector types. llvm-svn: 168141
* [mips] Fix delay slot filler so that instructions with register operand $1 areAkira Hatanaka2012-11-161-0/+32
| | | | | | allowed in branch delay slot. llvm-svn: 168131
* Add some tests for the FileCheck utility.Eli Bendersky2012-11-154-0/+27
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121112/156007.html llvm-svn: 168113
* Mark FP_ROUND for converting NEON v2f64 to v2f32 as expand. Add a missingEli Friedman2012-11-151-0/+9
| | | | | | | | case to vector legalization so this actually works. Patch by Pete Couperus. Fixes PR12540. llvm-svn: 168107
* PowerPC: Lowering floor intrinsic for AltivecAdhemerval Zanella2012-11-151-0/+172
| | | | | | | | This patch lowers the llvm.floor, llvm.ceil, llvm.trunc, and llvm.nearbyint to Altivec instruction when using 4 single-precision float vectors. llvm-svn: 168086
* Make GlobalOpt be conservative with TLS variables (PR14309)Hans Wennborg2012-11-151-0/+53
| | | | | | | | | | | | | | For global variables that get the same value stored into them everywhere, GlobalOpt will replace them with a constant. The problem is that a thread-local GlobalVariable looks like one value (the address of the TLS var), but is different between threads. This patch introduces Constant::isThreadDependent() which returns true for thread-local variables and constants which depend on them (e.g. a GEP into a thread-local array), and teaches GlobalOpt not to track such values. llvm-svn: 168037
* Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,Duncan Sands2012-11-151-0/+9
| | | | | | | | | | | | | | the utility for extracting a chain of operations from the IR, thought that it might as well combine any constants it came across (rather than just returning them along with everything else). On the other hand, the factorization code would like to see the individual constants (this is quite reasonable: it is much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6; you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo multiplications of constants as it may at first appear). This patch therefore makes LinearizeExprTree stupider: it now leaves optimizing to the optimization part of reassociate, and sticks to just analysing the IR. llvm-svn: 168035
* This patch is in preparation for adding medium code model support to theBill Schmidt2012-11-145-5/+5
| | | | | | | | | | | | | | PPC64 target. The five tests modified herein test code generation that is sensitive to the code model selected. So I've added -code-model=small to the RUN commands for each. Since small code model is the default, this has no effect for now; but this prepares us for eventually changing the default to medium code model for PPC64. Test changes verified with small and medium code model as default on powerpc64-unknown-linux-gnu. All tests continue to pass. llvm-svn: 167999
* Make sure to not get AVX code on an AVX-capable host. Revealed in r167967.Jakub Staszak2012-11-144-8/+8
| | | | llvm-svn: 167989
* test/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the ↵NAKAMURA Takumi2012-11-141-1/+1
| | | | | | failure on i686 hosts. llvm-svn: 167988
OpenPOWER on IntegriCloud