llvm-6502/test/CodeGen/Thumb2
Jim Grosbach 1dc335a79f Simplify ARM callee-saved register handling by removing the distinction
between the high and low registers for prologue/epilogue code. This was
a Darwin-only thing that wasn't providing a realistic benefit anymore.
Combining the save areas simplifies the compiler code and results in better
ARM/Thumb2 codegen.

For example, previously we would generate code like:
        push    {r4, r5, r6, r7, lr}
        add     r7, sp, #12
        stmdb   sp!, {r8, r10, r11}
With this change, we combine the register saves and generate:
        push    {r4, r5, r6, r7, r8, r10, r11, lr}
        add     r7, sp, #12

rdar://8445635



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114340 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-20 19:32:20 +00:00
..
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll
2009-07-23-CPIslandBug.ll
2009-07-30-PEICrash.ll
2009-08-01-WrongLDRBOpc.ll
2009-08-02-CoalescerBug.ll
2009-08-04-CoalescerAssert.ll
2009-08-04-CoalescerBug.ll
2009-08-04-ScavengerAssert.ll
2009-08-04-SubregLoweringBug2.ll
2009-08-04-SubregLoweringBug3.ll
2009-08-04-SubregLoweringBug.ll
2009-08-06-SpDecBug.ll
2009-08-07-CoalescerBug.ll
2009-08-07-NeonFPBug.ll
2009-08-08-ScavengerAssert.ll
2009-08-10-ISelBug.ll
2009-08-21-PostRAKill4.ll Move thumb2 tests to the thumb2 directory 2010-09-17 20:34:09 +00:00
2009-09-01-PostRAProlog.ll Move thumb2 tests to the thumb2 directory 2010-09-17 20:34:09 +00:00
2009-09-28-ITBlockBug.ll
2009-10-15-ITBlockBranch.ll Now that register allocation properly considers reserved regs, simplify the 2010-09-02 18:14:29 +00:00
2009-11-01-CopyReg2RegBug.ll
2009-11-11-ScavengerAssert.ll
2009-11-13-STRDBug.ll
2009-12-01-LoopIVUsers.ll
2010-01-06-TailDuplicateLabels.ll
2010-01-19-RemovePredicates.ll
2010-02-11-phi-cycle.ll
2010-02-24-BigStack.ll
2010-03-08-addi12-ccout.ll
2010-03-15-AsmCCClobber.ll
2010-04-15-DynAllocBug.ll Re-apply r112883: 2010-09-03 18:37:12 +00:00
2010-04-26-CopyRegCrash.ll
2010-05-24-rsbs.ll
2010-06-14-NEONCoalescer.ll
2010-06-19-ITBlockCrash.ll
2010-06-21-TailMergeBug.ll Simplify ARM callee-saved register handling by removing the distinction 2010-09-20 19:32:20 +00:00
2010-08-10-VarSizedAllocaBug.ll Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object. 2010-08-10 19:30:19 +00:00
bfi.ll
bfx.ll
carry.ll
cortex-fp.ll fix silly typo 2010-08-11 17:32:46 +00:00
crash.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll
dg.exp
div.ll Report error if codegen tries to instantiate a ARM target when the cpu does support it. e.g. cortex-m* processors. 2010-08-11 07:17:46 +00:00
frameless2.ll
frameless.ll
ifcvt-neon.ll
large-stack.ll Teach the (non-MC) instruction printer to use the cannonical names for push/pop, 2010-09-17 22:36:38 +00:00
ldr-str-imm12.ll Now that register allocation properly considers reserved regs, simplify the 2010-09-02 18:14:29 +00:00
load-global.ll
lsr-deficiency.ll Now that register allocation properly considers reserved regs, simplify the 2010-09-02 18:14:29 +00:00
machine-licm-vdup.ll Fix NEON VLD pseudo instruction itineraries that were incorrectly copied from 2010-09-09 05:40:26 +00:00
machine-licm.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
mul_const.ll
pic-load.ll
thumb2-adc.ll
thumb2-add2.ll
thumb2-add3.ll
thumb2-add4.ll
thumb2-add5.ll
thumb2-add6.ll
thumb2-add.ll
thumb2-and2.ll
thumb2-and.ll
thumb2-asr2.ll
thumb2-asr.ll
thumb2-badreg-operands.ll Many Thumb2 instructions can reference the full ARM register set (i.e., 2010-07-30 02:41:01 +00:00
thumb2-barrier.ll - Add subtarget feature -mattr=+db which determine whether an ARM cpu has the 2010-08-11 06:22:01 +00:00
thumb2-bcc.ll
thumb2-bfc.ll
thumb2-bic.ll
thumb2-branch.ll
thumb2-call-tc.ll Temporarily disable tail calls on ARM to work around some linker problems. 2010-08-13 22:43:33 +00:00
thumb2-call.ll
thumb2-cbnz.ll
thumb2-clz.ll
thumb2-cmn2.ll
thumb2-cmn.ll
thumb2-cmp2.ll
thumb2-cmp.ll ARM/Thumb2: Fix a misselect in getARMCmp, when attempting to adjust a signed 2010-08-25 16:58:05 +00:00
thumb2-eor2.ll
thumb2-eor.ll
thumb2-ifcvt1-tc.ll Temporarily disable tail calls on ARM to work around some linker problems. 2010-08-13 22:43:33 +00:00
thumb2-ifcvt1.ll
thumb2-ifcvt2.ll
thumb2-ifcvt3.ll
thumb2-jtb.ll
thumb2-ldm.ll
thumb2-ldr_ext.ll
thumb2-ldr_post.ll
thumb2-ldr_pre.ll
thumb2-ldr.ll
thumb2-ldrb.ll
thumb2-ldrd.ll
thumb2-ldrh.ll
thumb2-lsl2.ll
thumb2-lsl.ll
thumb2-lsr2.ll
thumb2-lsr3.ll
thumb2-lsr.ll
thumb2-mla.ll
thumb2-mls.ll
thumb2-mov.ll
thumb2-mul.ll
thumb2-mulhi.ll
thumb2-mvn2.ll
thumb2-mvn.ll
thumb2-neg.ll
thumb2-orn2.ll
thumb2-orn.ll
thumb2-orr2.ll
thumb2-orr.ll
thumb2-pack.ll Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoid 2010-08-17 17:23:19 +00:00
thumb2-rev16.ll
thumb2-rev.ll
thumb2-ror2.ll
thumb2-ror.ll
thumb2-rsb2.ll
thumb2-rsb.ll
thumb2-sbc.ll
thumb2-select_xform.ll
thumb2-select.ll
thumb2-shifter.ll
thumb2-smla.ll
thumb2-smul.ll
thumb2-spill-q.ll Add alignment arguments to all the NEON load/store intrinsics. 2010-08-27 17:13:24 +00:00
thumb2-str_post.ll
thumb2-str_pre.ll
thumb2-str.ll
thumb2-strb.ll
thumb2-strh.ll
thumb2-sub2.ll
thumb2-sub3.ll
thumb2-sub4.ll
thumb2-sub5.ll
thumb2-sub.ll
thumb2-sxt_rot.ll
thumb2-tbb.ll
thumb2-tbh.ll
thumb2-teq2.ll
thumb2-teq.ll
thumb2-tst2.ll
thumb2-tst.ll
thumb2-uxt_rot.ll
thumb2-uxtb.ll
tls1.ll
tls2.ll