llvm-6502/test/CodeGen/Thumb
Moritz Roth a6afad8b33 Thumb1 load/store optimizer: Improve code to materialize new base register.
There are two add-immediate instructions in Thumb1: tADDi8 and tADDi3. Only
the latter supports using different source and destination registers, so
whenever we materialize a new base register (at a certain offset) we'd do
so by moving the base register value to the new register and then adding in
place. This patch changes the code to use a single tADDi3 if the offset is
small enough to fit in 3 bits.

Differential Revision: http://reviews.llvm.org/D5006

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216193 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-21 17:11:03 +00:00
..
2007-01-31-RegInfoAssert.ll
2007-02-02-JoinIntervalsCrash.ll
2007-05-05-InvalidPushPop.ll
2009-06-18-ThumbCommuteMul.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
2009-07-20-TwoAddrBug.ll
2009-07-27-PEIAssert.ll
2009-08-12-ConstIslandAssert.ll
2009-08-12-RegInfoAssert.ll
2009-08-20-ISelBug.ll
2009-12-17-pre-regalloc-taildup.ll
2010-06-18-SibCallCrash.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
2010-07-01-FuncAlign.ll
2010-07-15-debugOrdering.ll DebugInfo: Use the SPMap to find the parent CU of inlined functions as they may not be in the current CU 2014-05-21 23:14:12 +00:00
2011-05-11-DAGLegalizer.ll
2011-06-16-NoGPRs.ll
2011-EpilogueBug.ll
2012-04-26-M0ISelBug.ll
2014-06-10-thumb1-ldst-opt-bug.ll ARM: Fix and re-enable load/store optimizer for Thumb1. 2014-08-15 17:00:30 +00:00
asmprinter-bug.ll
barrier.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
copy_thumb.ll Lower thumbv4t & thumbv5 lo->lo copies through a push-pop sequence 2014-08-20 23:38:50 +00:00
cortex-m0-unaligned-access.ll ARM: cortex-m0 doesn't support unaligned memory access. 2014-04-02 19:28:13 +00:00
DbgValueOtherTargets.test ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
dyn-stackalloc.ll ARM: Fix and re-enable load/store optimizer for Thumb1. 2014-08-15 17:00:30 +00:00
fastcc.ll ARM: Fix fastcc calling convention for Thumb1 2014-06-13 08:33:03 +00:00
fpconv.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
fpow.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
frame_thumb.ll
iabs.ll
inlineasm-imm-thumb.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
inlineasm-thumb.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
ispositive.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
large-stack.ll
ldm-merge-call.ll ARM: Fix and re-enable load/store optimizer for Thumb1. 2014-08-15 17:00:30 +00:00
ldm-merge-struct.ll ARM: Fix and re-enable load/store optimizer for Thumb1. 2014-08-15 17:00:30 +00:00
ldm-stm-base-materialization.ll Thumb1 load/store optimizer: Improve code to materialize new base register. 2014-08-21 17:11:03 +00:00
ldr_ext.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
ldr_frame.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
long_shift.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
long-setcc.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
long.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
mature-mc-support.ll Add triples to try to fix the windows bots. 2014-02-13 16:49:47 +00:00
mul.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
pop.ll
PR17309.ll
push.ll
rev.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
segmented-stacks-dynamic.ll Move the segmented stack switch to a function attribute 2014-04-10 22:58:43 +00:00
segmented-stacks.ll Segmented stacks: omit __morestack call when there's no frame. 2014-05-22 13:03:43 +00:00
select.ll
sjljehprepare-lower-vector.ll
stack_guard_remat.ll [ARM] In dynamic-no-pic mode, ARM's post-RA pseudo expansion was incorrectly 2014-08-02 05:40:40 +00:00
stack-coloring-without-frame-ptr.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
stack-frame.ll Make this test not match its own filename, when being run from a path that includes the string 'add'. 2014-04-15 22:29:32 +00:00
stm-merge.ll ARM: Fix and re-enable load/store optimizer for Thumb1. 2014-08-15 17:00:30 +00:00
thumb-imm.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb-ldm.ll Thumb1 load/store optimizer: Improve code to materialize new base register. 2014-08-21 17:11:03 +00:00
thumb-memcpy-ldm-stm.ll Thumb1 load/store optimizer: Improve code to materialize new base register. 2014-08-21 17:11:03 +00:00
trap.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
triple.ll
tst_teq.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
unord.ll
vargs.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00