llvm/test/CodeGen/Thumb
Hal Finkel db31bd31d6 LocalStackSlotAllocation improvements
First, taking advantage of the fact that the virtual base registers are allocated in order of the local frame offsets, remove the quadratic register-searching behavior. Because of the ordering, we only need to check the last virtual base register created.

Second, store the frame index in the FrameRef structure, and get the frame index and the local offset from this structure at the top of the loop iteration. This allows us to de-nest the loops in insertFrameReferenceRegisters (and I think makes the code cleaner). I also moved the needsFrameBaseReg check into the first loop over instructions so that we don't bother pushing FrameRefs for instructions that don't want a virtual base register anyway.

Lastly, and this is the only functionality change, avoid the creation of single-use virtual base registers. These are currently not useful because, in general, they end up replacing what would be one r+r instruction with an add and a r+i instruction. Committing this removes the XFAIL in CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll

Jim has okayed this off-list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180799 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-30 20:04:37 +00:00
..
2007-01-31-RegInfoAssert.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-02-02-JoinIntervalsCrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2007-05-05-InvalidPushPop.ll Correct bogus module triple specifications. 2010-08-30 10:48:29 +00:00
2009-06-18-ThumbCommuteMul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-07-20-TwoAddrBug.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-07-27-PEIAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-12-ConstIslandAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-12-RegInfoAssert.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2009-08-20-ISelBug.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
2009-12-17-pre-regalloc-taildup.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
2010-06-18-SibCallCrash.ll Disable sibcall optimization for Thumb1 for now since Thumb1RegisterInfo::emitEpilogue is not expecting them. 2010-06-19 01:01:32 +00:00
2010-07-01-FuncAlign.ll ARM function alignments were off by a power of two. svn 83242 changed 2010-07-01 22:26:26 +00:00
2010-07-15-debugOrdering.ll Revert "Adding DIImportedModules to DIScopes." 2013-03-28 02:44:59 +00:00
2011-05-11-DAGLegalizer.ll Reapply r143206, with fixes. Disallow physical register lifetimes 2011-11-03 21:49:52 +00:00
2011-06-16-NoGPRs.ll Don't use register classes larger than TLI->getRegClassFor(VT). 2011-06-16 22:50:38 +00:00
2011-EpilogueBug.ll Spill R4 if it's going to be used to restore SP from FP. 2011-01-16 05:14:33 +00:00
2012-04-26-M0ISelBug.ll Make test less fragile. 2012-04-27 20:48:18 +00:00
asmprinter-bug.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
barrier.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
DbgValueOtherTargets.test Remove unnecessary leading comment characters in lit-only file 2013-03-18 22:08:16 +00:00
dyn-stackalloc.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
fpconv.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
fpow.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
frame_thumb.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
iabs.ll llvm/test/CodeGen/Thumb/iabs.ll: Add explicit -mtriple=thumb-unknown-unknown to appease win32 hosts. 2013-03-05 02:18:52 +00:00
inlineasm-imm-thumb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
inlineasm-thumb.ll Add support for the 'h' constraint. 2011-06-30 23:23:01 +00:00
ispositive.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
large-stack.ll LocalStackSlotAllocation improvements 2013-04-30 20:04:37 +00:00
ldr_ext.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
ldr_frame.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
lit.local.cfg Include '.test' suffix in target specific lit configs that need it 2013-03-18 20:31:44 +00:00
long_shift.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
long-setcc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
long.ll These tests are looking for library function names that 2010-11-17 21:57:32 +00:00
mul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pop.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
push.ll Propagate the AlignStack bit in InlineAsm's to the 2010-07-02 20:16:09 +00:00
rev.ll Follow up on r127913. Fix Thumb revsh isel. rdar://9286766 2011-04-14 23:27:44 +00:00
select.ll FileCheck-ize test, and make it work on EABI hosts, like clang-native-arm-cortex-a9. 2011-06-16 02:36:32 +00:00
stack-coloring-without-frame-ptr.ll Fix thumbv5e frame lowering assertion failure. 2013-02-20 12:21:33 +00:00
stack-frame.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb-imm.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
trap.ll Remove arm_apcscc from the test files. It is the default and doing this 2010-06-17 15:18:27 +00:00
tst_teq.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
unord.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
vargs.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00