summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
...
* More consistent thumb1 asm printing.Evan Cheng2009-11-194-6/+6
| | | | llvm-svn: 89328
* Shrink ldr / str [sp, imm0-1024] to 16-bit instructions.Evan Cheng2009-11-191-0/+6
| | | | llvm-svn: 89326
* - Add sugregister logic to handle f64=(f32,f32).Bruno Cardoso Lopes2009-11-191-2/+1
| | | | | | | | | | | | - Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) llvm-svn: 89322
* Test from Dhrystone to make sure that we're not emitting an aligned load for aBill Wendling2009-11-191-0/+28
| | | | | | string that's aligned at 8-bytes instead of 16-bytes. llvm-svn: 89295
* Fix buildbots.Bob Wilson2009-11-181-1/+1
| | | | llvm-svn: 89274
* Add XCore support for indirectbr / blockaddress.Richard Osborne2009-11-181-0/+45
| | | | llvm-svn: 89273
* Tail duplication still needs to iterate. Duplicating new instructions ontoBob Wilson2009-11-181-0/+64
| | | | | | the tail of a block may make that block a new candidate for duplication. llvm-svn: 89264
* Not all ASM has # for comments.Bill Wendling2009-11-181-1/+1
| | | | llvm-svn: 89250
* Fix PR5300.Jakob Stoklund Olesen2009-11-181-0/+29
| | | | | | | | When TwoAddressInstructionPass deletes a dead instruction, make sure that all register kills are accounted for. The 2-addr register does not get special treatment. llvm-svn: 89246
* Fix inverted test and add testcase from failing self-host.Jakob Stoklund Olesen2009-11-181-0/+52
| | | | llvm-svn: 89167
* Remove fragile test.Jakob Stoklund Olesen2009-11-171-1/+0
| | | | llvm-svn: 89150
* Enable arm jumpt table adjustment.Jim Grosbach2009-11-172-2/+1
| | | | llvm-svn: 89143
* Forgot to commit test fixesAnton Korobeynikov2009-11-172-4/+4
| | | | llvm-svn: 89138
* Enable -split-phi-edges by default, except when -regalloc=local.Jakob Stoklund Olesen2009-11-172-1/+2
| | | | | | | The local register allocator doesn't like it when LiveVariables is run. We should also disable edge splitting under -O0, but that has to wait a bit. llvm-svn: 89125
* Generalize OptimizeLoopTermCond to optimize more loop terminating icmp to ↵Evan Cheng2009-11-171-0/+27
| | | | | | use postinc iv. llvm-svn: 89116
* Revert 89021. It's miscompiling llvm-gcc driver driver at -O0.Evan Cheng2009-11-172-8/+2
| | | | llvm-svn: 89082
* Enable -split-phi-edges by defaultJakob Stoklund Olesen2009-11-172-2/+8
| | | | llvm-svn: 89021
* MOV64rm should be marked isReMaterializable.Evan Cheng2009-11-171-0/+42
| | | | llvm-svn: 89019
* Convert to FileCheckJim Grosbach2009-11-175-13/+57
| | | | llvm-svn: 89007
* Convert to FileCheckJim Grosbach2009-11-171-6/+8
| | | | llvm-svn: 89002
* Cleanup. Missed removing these when converting. Oops.Jim Grosbach2009-11-171-5/+0
| | | | llvm-svn: 89001
* Fix this test - there don't appear to be any actual Reload ReusesDan Gohman2009-11-161-1/+0
| | | | | | in this testcase. llvm-svn: 88998
* Revert r87049, which was the workaround for the regression triggeredDan Gohman2009-11-161-2/+2
| | | | | | | by the recent FixedStackPseudoSourceValue-related changes, now that the specific bug that affected it is fixed, in r88954. llvm-svn: 88997
* Revert the test from r88984. It relies on being able to mmap 16GB ofJeffrey Yasskin2009-11-161-3/+5
| | | | | | | | | | address space (though it only uses a small fraction of that), and the buildbots disallow that. Also add a comment to the Makefile's ulimit line warning future developers that changing it won't work. llvm-svn: 88994
* Convert to FileCheckJim Grosbach2009-11-161-5/+18
| | | | llvm-svn: 88991
* Make X86-64 in the Large model always emit 64-bit calls.Jeffrey Yasskin2009-11-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The large code model is documented at http://www.x86-64.org/documentation/abi.pdf and says that calls should assume their target doesn't live within the 32-bit pc-relative offset that fits in the call instruction. To do this, we turn off the global-address->target-global-address conversion in X86TargetLowering::LowerCall(). The first attempt at this broke the lazy JIT because it can separate the movabs(imm->reg) from the actual call instruction. The lazy JIT receives the address of the movabs as a relocation and needs to record the return address from the call; and then when that call happens, it needs to patch the movabs with the newly-compiled target. We could thread the call instruction into the relocation and record the movabs<->call mapping explicitly, but that seems to require at least as much new complication in the code generator as this change. To fix this, we make lazy functions _always_ go through a call stub. You'd think we'd only have to force lazy calls through a stub on difficult platforms, but that turns out to break indirect calls through a function pointer. The right fix for that is to distinguish between calls and address-of operations on uncompiled functions, but that's complex enough to leave for someone else to do. Another attempt at this defined a new CALL64i pseudo-instruction, which expanded to a 2-instruction sequence in the assembly output and was special-cased in the X86CodeEmitter's emitInstruction() function. That broke indirect calls in the same way as above. This patch also removes a hack forcing Darwin to the small code model. Without far-call-stubs, the small code model requires things of the JITMemoryManager that the DefaultJITMemoryManager can't provide. Thanks to echristo for lots of testing! llvm-svn: 88984
* - Check memoperand alignment instead of checking stack alignment. Most load ↵Evan Cheng2009-11-161-0/+28
| | | | | | | | / store folding instructions are not referencing spill stack slots. - Mark MOVUPSrm re-materializable. llvm-svn: 88974
* Convert to FileCheckJim Grosbach2009-11-161-5/+17
| | | | llvm-svn: 88947
* Added a testcase for PR5495.Lang Hames2009-11-161-0/+75
| | | | llvm-svn: 88946
* Convert to FileCheckJim Grosbach2009-11-161-3/+7
| | | | llvm-svn: 88942
* tbb opt off by defaultJim Grosbach2009-11-161-0/+1
| | | | llvm-svn: 88921
* Support spill comments.David Greene2009-11-161-0/+105
| | | | | | | | Have the asm printer emit a comment if an instruction is a spill or reload and have the spiller mark copies it introdues so the asm printer can also annotate those. llvm-svn: 88911
* Check if subreg index is zero.Evan Cheng2009-11-161-0/+155
| | | | llvm-svn: 88899
* For some targets, a copy can use a register multiple times, e.g. ppc.Evan Cheng2009-11-161-0/+105
| | | | llvm-svn: 88895
* xfail for now. It has been failing.Evan Cheng2009-11-161-0/+1
| | | | llvm-svn: 88892
* - Fix a small bug while handling target constant pools (one param was missing).Bruno Cardoso Lopes2009-11-161-0/+10
| | | | | | | | | | | | | | | - Add a smarter constant pool loading, instead of: lui $2, %hi($CPI1_0) addiu $2, $2, %lo($CPI1_0) lwc1 $f0, 0($2) Generate: lui $2, %hi($CPI1_0) lwc1 $f0, %lo($CPI1_0)($2) llvm-svn: 88886
* Detect need for autoalignment of the stack earlier to catch spills moreJim Grosbach2009-11-152-4/+6
| | | | | | | conservatively. eliminateFrameIndex() machinery adjust to handle addr mode 6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling llvm-svn: 88874
* Revert r88830 and r88831 which appear to have caused a selfhost buildbot someNick Lewycky2009-11-151-0/+1
| | | | | | grief. I suspect this patch merely exposed a bug else. llvm-svn: 88841
* Correct typo.Nick Lewycky2009-11-151-1/+1
| | | | llvm-svn: 88831
* Teach instcombine to look for booleans in wider integers when it encounters aNick Lewycky2009-11-151-0/+28
| | | | | | | zext(icmp). It may be able to optimize that away. This fixes one of the cases in PR5438. llvm-svn: 88830
* remove xfailJim Grosbach2009-11-141-2/+0
| | | | llvm-svn: 88817
* Add XCore support for arbitrary-sized aggregate returns.Richard Osborne2009-11-141-0/+43
| | | | llvm-svn: 88802
* Teach BasicAA that a constant expression can't alias memory provably notNick Lewycky2009-11-141-0/+39
| | | | | | allocated until runtime (such as an alloca). Patch by Hans Wennborg! llvm-svn: 88760
* Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to ↵Evan Cheng2009-11-141-0/+133
| | | | | | replace broken code in VirtRegRewriter. llvm-svn: 88753
* - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo.Evan Cheng2009-11-141-1/+2
| | | | | | | | - If destination is a physical register and it has a subreg index, use the sub-register instead. This fixes PR5423. llvm-svn: 88745
* Add radar number.Evan Cheng2009-11-141-0/+1
| | | | llvm-svn: 88739
* Fix PR5412: Fix an inverted check and another missing sub-register check.Evan Cheng2009-11-142-0/+235
| | | | llvm-svn: 88738
* Enable the tail call optimization when the caller returns undef.Dan Gohman2009-11-141-1/+8
| | | | llvm-svn: 88737
* When expanding t2STRDi8 r, r to two stores, add kill markers correctly.Evan Cheng2009-11-141-0/+20
| | | | llvm-svn: 88734
* Fix PR5411. Bug in UpdateKills. A reg def partially define its super-registers.Evan Cheng2009-11-131-0/+42
| | | | llvm-svn: 88719
OpenPOWER on IntegriCloud