llvm-6502/test/CodeGen/Thumb
Renato Golin b451f4e376 Improve handling of stack accesses in Thumb-1
Thumb-1 only allows SP-based LDR and STR to be word-sized, and SP-base LDR,
STR, and ADD only allow offsets that are a multiple of 4. Make some changes
to better make use of these instructions:

* Use word loads for anyext byte and halfword loads from the stack.
* Enforce 4-byte alignment on objects accessed in this way, to ensure that
  the offset is valid.
* Do the same for objects whose frame index is used, in order to avoid having
  to use more than one ADD to generate the frame index.
* Correct how many bits of offset we think AddrModeT1_s has.

Patch by John Brawn.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230496 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 14:41:06 +00:00
..
2007-01-31-RegInfoAssert.ll
2007-02-02-JoinIntervalsCrash.ll
2007-05-05-InvalidPushPop.ll
2009-06-18-ThumbCommuteMul.ll
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
2010-07-01-FuncAlign.ll
2010-07-15-debugOrdering.ll IR: Move MDLocation into place 2015-01-14 22:27:36 +00:00
2011-05-11-DAGLegalizer.ll
2011-06-16-NoGPRs.ll
2011-EpilogueBug.ll
2012-04-26-M0ISelBug.ll Improve logic that decides if its profitable to commute when some of the virtual registers involved have uses/defs chains connecting them to physical register. Fix up the tests that this change improves. 2014-11-05 06:43:02 +00:00
2014-06-10-thumb1-ldst-opt-bug.ll
asmprinter-bug.ll
barrier.ll
copy_thumb.ll
cortex-m0-unaligned-access.ll
DbgValueOtherTargets.test
dyn-stackalloc.ll
fastcc.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
fpconv.ll
fpow.ll
frame_thumb.ll
iabs.ll Re-add support to llvm-objdump for Mach-O universal files and archives with -macho 2014-12-04 23:56:27 +00:00
inlineasm-imm-thumb.ll
inlineasm-thumb.ll
ispositive.ll
large-stack.ll [Thumb1] Re-write emitThumbRegPlusImmediate 2014-11-17 11:18:10 +00:00
ldm-merge-call.ll
ldm-merge-struct.ll
ldm-stm-base-materialization.ll
ldr_ext.ll
ldr_frame.ll
lit.local.cfg
long_shift.ll
long-setcc.ll
long.ll
mature-mc-support.ll
mul.ll
pop.ll
PR17309.ll
push.ll
rev.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll
select.ll
sjljehprepare-lower-vector.ll
stack_guard_remat.ll
stack-access.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
stack-coloring-without-frame-ptr.ll
stack-frame.ll
stm-merge.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00
thumb-imm.ll
thumb-ldm.ll
thumb-memcpy-ldm-stm.ll
trap.ll
triple.ll
tst_teq.ll
unord.ll
vargs.ll Improve handling of stack accesses in Thumb-1 2015-02-25 14:41:06 +00:00