1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/CodeGen/Thumb2
Jakob Stoklund Olesen c6377253f7 Enable ARM base pointer when calling functions with large arguments.
When an outgoing call takes more than 2k of arguments on the stack, we
don't allocate that call frame in the prolog, but adjust the stack
pointer immediately before the call instead.

This causes problems with the emergency spill slot because PEI can't
track stack pointer adjustments on the second pass, and if the outgoing
arguments are too big, SP can't be used to reach the emergency spill
slot at all.

Work around these problems by ensuring there is a base or frame pointer
that can be used to access the emergency spill slot.

<rdar://problem/10917166>

llvm-svn: 151604
2012-02-28 01:15:01 +00:00
..
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll ARM target code clean up. Check for iOS, not Darwin where it makes sense. 2011-12-20 18:26:50 +00:00
2009-07-23-CPIslandBug.ll
2009-07-30-PEICrash.ll
2009-08-01-WrongLDRBOpc.ll
2009-08-02-CoalescerBug.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-CoalescerAssert.ll
2009-08-04-CoalescerBug.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-ScavengerAssert.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
2009-08-04-SubregLoweringBug2.ll
2009-08-04-SubregLoweringBug3.ll
2009-08-04-SubregLoweringBug.ll rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
2009-08-06-SpDecBug.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
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
2009-09-01-PostRAProlog.ll
2009-09-28-ITBlockBug.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
2009-10-15-ITBlockBranch.ll Pseudo-ize the t2LDMIA_RET instruction. 2011-06-30 18:25:42 +00:00
2009-11-01-CopyReg2RegBug.ll
2009-11-11-ScavengerAssert.ll
2009-11-13-STRDBug.ll
2009-12-01-LoopIVUsers.ll ARM VLDR/VSTR instructions don't need a size suffix. 2011-11-14 23:03:21 +00:00
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 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
2010-04-15-DynAllocBug.ll
2010-04-26-CopyRegCrash.ll
2010-05-24-rsbs.ll
2010-06-14-NEONCoalescer.ll ARM VLDR/VSTR instructions don't need a size suffix. 2011-11-14 23:03:21 +00:00
2010-06-19-ITBlockCrash.ll
2010-06-21-TailMergeBug.ll Use MachineBranchProbabilityInfo in If-Conversion instead of its own heuristics. 2011-08-03 22:34:43 +00:00
2010-08-10-VarSizedAllocaBug.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
2010-11-22-EpilogueBug.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
2010-12-03-AddSPNarrowing.ll
2011-04-21-FILoweringBug.ll In Thumb2 mode, lower frame indix references to: 2011-04-22 01:42:52 +00:00
2011-06-07-TwoAddrEarlyClobber.ll Thumb1 register to register MOV instruction is predicable. 2011-06-30 22:10:46 +00:00
2011-12-16-T2SizeReduceAssert.ll Fix a CPSR liveness tracking bug introduced when I converted IT block to bundle. 2011-12-17 01:25:34 +00:00
2012-01-13-CBNZBug.ll After r147827 and r147902, it's now possible for unallocatable registers to be 2012-01-14 01:53:46 +00:00
aligned-constants.ll Fix off-by-one error in bucket sort. 2011-12-16 23:00:05 +00:00
aligned-spill.ll Enable aligned NEON spilling by default. 2012-01-06 22:19:37 +00:00
bfi.ll Fix more register and coalescing dependencies. 2011-05-04 19:02:11 +00:00
bfx.ll
buildvector-crash.ll
carry.ll
constant-islands.ll Consider unknown alignment caused by OptimizeThumb2Instructions(). 2012-01-10 22:32:14 +00:00
cortex-fp.ll
crash.ll
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll Roll r127459 back in: 2011-03-11 21:52:04 +00:00
div.ll
frameless2.ll
frameless.ll
ifcvt-neon.ll
large-call.ll Enable ARM base pointer when calling functions with large arguments. 2012-02-28 01:15:01 +00:00
large-stack.ll
ldr-str-imm12.ll Linear scan is going away. 2011-11-12 22:39:34 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
lsr-deficiency.ll Fix more register allocation sensitive tests. 2011-07-08 00:24:06 +00:00
machine-licm.ll - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function 2011-12-14 02:11:42 +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 FileCheck-ize another test. Reduces the llc invocations from 8 to 1, and 2011-07-02 21:34:52 +00:00
thumb2-and2.ll
thumb2-and.ll
thumb2-asr2.ll
thumb2-asr.ll
thumb2-bcc.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
thumb2-bfc.ll
thumb2-bic.ll
thumb2-branch.ll Convert more tests to new atomic instructions. 2011-09-26 21:36:10 +00:00
thumb2-call-tc.ll
thumb2-call.ll
thumb2-cbnz.ll Allow machine-cse to look across MBB boundary when cse'ing instructions that 2012-01-10 02:02:58 +00:00
thumb2-clz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
thumb2-cmn2.ll
thumb2-cmn.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-cmp2.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-cmp.ll Explicitly request physreg coalesing for a bunch of Thumb2 unit tests. 2011-05-04 19:02:07 +00:00
thumb2-eor2.ll
thumb2-eor.ll
thumb2-ifcvt1-tc.ll
thumb2-ifcvt1.ll Use MachineBranchProbabilityInfo in If-Conversion instead of its own heuristics. 2011-08-03 22:34:43 +00:00
thumb2-ifcvt2.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
thumb2-ifcvt3.ll Last round of fixes for movw + movt global address codegen. 2011-01-21 18:55:51 +00:00
thumb2-jtb.ll
thumb2-ldm.ll Fix more places which should be checking for iOS, not darwin. 2012-01-04 01:55:04 +00:00
thumb2-ldr_ext.ll
thumb2-ldr_post.ll
thumb2-ldr_pre.ll
thumb2-ldr.ll
thumb2-ldrb.ll
thumb2-ldrd.ll Switch a few tests off linearscan. 2011-11-12 19:53:52 +00:00
thumb2-ldrh.ll
thumb2-lsl2.ll
thumb2-lsl.ll
thumb2-lsr2.ll
thumb2-lsr3.ll Make tests more useful. 2011-04-25 10:12:01 +00:00
thumb2-lsr.ll
thumb2-mla.ll
thumb2-mls.ll Thumb2 size reduction fix for tied operands of tMUL. 2012-02-24 00:33:36 +00:00
thumb2-mov.ll
thumb2-mul.ll Thumb2 size reduction fix for tied operands of tMUL. 2012-02-24 00:33:36 +00:00
thumb2-mulhi.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-mvn2.ll
thumb2-mvn.ll
thumb2-neg.ll
thumb2-orn2.ll
thumb2-orn.ll
thumb2-orr2.ll
thumb2-orr.ll
thumb2-pack.ll
thumb2-rev16.ll
thumb2-rev.ll Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
thumb2-ror.ll Teach Thumb2 isel to fold and->rotr ==> ROR. 2011-04-29 14:18:15 +00:00
thumb2-rsb2.ll
thumb2-rsb.ll
thumb2-sbc.ll Don't depend on the optimization reverted in r134067. 2011-06-29 14:07:18 +00:00
thumb2-select_xform.ll - Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function 2011-12-14 02:11:42 +00:00
thumb2-select.ll
thumb2-shifter.ll
thumb2-smla.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-smul.ll ARMv7M vs. ARMv7E-M support. 2011-07-01 21:12:19 +00:00
thumb2-spill-q.ll Add ARM patterns to match EXTRACT_SUBVECTOR nodes. 2011-01-07 04:59:04 +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 and ARM add/subtract with carry fixes. 2011-04-23 03:55:32 +00:00
thumb2-sub4.ll
thumb2-sub5.ll Thumb2 and ARM add/subtract with carry fixes. 2011-04-23 03:55:32 +00:00
thumb2-sub.ll
thumb2-sxt_rot.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
thumb2-sxt-uxt.ll Fix up the patterns for SXTB, SXTH, UXTB, and UXTH so that they are correctly active without HasT2ExtractPack. PR10611. 2011-08-08 19:49:37 +00:00
thumb2-tbb.ll
thumb2-tbh.ll
thumb2-teq2.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-teq.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-tst2.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-tst.ll Improve codegen for select's: 2011-07-13 00:42:17 +00:00
thumb2-uxt_rot.ll manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
thumb2-uxtb.ll Recommit r129383. PreRA scheduler heuristic fixes: VRegCycle, TokenFactor latency. 2011-04-13 00:38:32 +00:00
tls1.ll
tls2.ll