llvm-6502/test/CodeGen/Thumb2
Dan Gohman 30fc5bbfd1 Fix a bug which prevented tail merging of return instructions in
beneficial cases. See the changes in test/CodeGen/X86/tail-opts.ll and
test/CodeGen/ARM/ifcvt2.ll for details.

The fix is to change HashEndOfMBB to hash at most one instruction,
instead of trying to apply heuristics about when it will be profitable to
consider more than one instruction. The regular tail-merging heuristics
are already prepared to handle the same cases, and they're more precise.

Also, make test/CodeGen/ARM/ifcvt5.ll and
test/CodeGen/Thumb2/thumb2-branch.ll slightly more complex so that they
continue to test what they're intended to test.

And, this eliminates the problem in
test/CodeGen/Thumb2/2009-10-15-ITBlockBranch.ll, the testcase from
PR5204. Update it accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102907 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-03 14:35:47 +00:00
..
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll More consistent thumb1 asm printing. 2009-11-19 06:57:41 +00:00
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 switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-04-ScavengerAssert.ll switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-04-SubregLoweringBug2.ll switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-04-SubregLoweringBug3.ll switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-04-SubregLoweringBug.ll switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-06-SpDecBug.ll More consistent thumb1 asm printing. 2009-11-19 06:57:41 +00:00
2009-08-07-CoalescerBug.ll
2009-08-07-NeonFPBug.ll switch the flag for using NEON for SP floating point to a subtarget 'feature'. 2010-03-25 23:47:34 +00:00
2009-08-08-ScavengerAssert.ll
2009-08-10-ISelBug.ll
2009-09-28-ITBlockBug.ll
2009-10-15-ITBlockBranch.ll Fix a bug which prevented tail merging of return instructions in 2010-05-03 14:35:47 +00:00
2009-11-01-CopyReg2RegBug.ll
2009-11-11-ScavengerAssert.ll
2009-11-13-STRDBug.ll When expanding t2STRDi8 r, r to two stores, add kill markers correctly. 2009-11-14 01:50:00 +00:00
2009-12-01-LoopIVUsers.ll test case for IV-Users simplification loop improvement 2009-12-01 21:53:51 +00:00
2010-01-06-TailDuplicateLabels.ll Run the pre-register allocation tail duplication pass by default. Remove 2010-01-16 00:29:50 +00:00
2010-01-19-RemovePredicates.ll Remove predicates when changing an add into an unpredicable mov. 2010-01-19 21:08:28 +00:00
2010-02-11-phi-cycle.ll Last week we were generating code with duplicate induction variables in this 2010-02-15 21:56:40 +00:00
2010-02-24-BigStack.ll Create a stack frame on ARM when 2010-02-24 22:43:17 +00:00
2010-03-08-addi12-ccout.ll Fix a crash compiling 254.gap for Thumb2. The Thumb2 add/sub with 12-bit 2010-03-08 22:56:15 +00:00
2010-03-15-AsmCCClobber.ll Add a testcase for the change in r98586. 2010-03-16 05:33:29 +00:00
2010-04-15-DynAllocBug.ll Use default lowering of DYNAMIC_STACKALLOC. As far as I can tell, ARM isle is doing the right thing and codegen looks correct for both Thumb and Thumb2. 2010-04-15 22:20:34 +00:00
2010-04-26-CopyRegCrash.ll Handle register-to-register copies within the tGPR class. 2010-04-26 23:20:08 +00:00
bfx.ll Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield 2010-04-22 23:24:18 +00:00
carry.ll
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll - Clean up some crappy code which deals with coalescing of copies which look at 2010-04-21 00:44:22 +00:00
dg.exp
frameless2.ll
frameless.ll
ifcvt-neon.ll Enable predication of NEON instructions in Thumb2 mode. 2009-11-24 08:06:15 +00:00
large-stack.ll Stop using the old pre-UAL syntax for LDM/STM instruction suffixes. 2010-03-16 16:19:07 +00:00
ldr-str-imm12.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
load-global.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
lsr-deficiency.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
machine-licm.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
mul_const.ll
pic-load.ll
thumb2-adc.ll
thumb2-add2.ll
thumb2-add3.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-add4.ll
thumb2-add5.ll
thumb2-add6.ll
thumb2-add.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
thumb2-and2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-and.ll
thumb2-asr2.ll
thumb2-asr.ll
thumb2-bcc.ll
thumb2-bfc.ll
thumb2-bic.ll
thumb2-branch.ll Fix a bug which prevented tail merging of return instructions in 2010-05-03 14:35:47 +00:00
thumb2-call.ll
thumb2-cbnz.ll
thumb2-clz.ll
thumb2-cmn2.ll
thumb2-cmn.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-cmp2.ll
thumb2-cmp.ll
thumb2-eor2.ll
thumb2-eor.ll
thumb2-ifcvt1.ll Reapply the new LoopStrengthReduction code, with compile time and 2010-02-12 10:34:29 +00:00
thumb2-ifcvt2.ll Revert 89562. We're being sneakier than I was giving us credit for, and this 2009-11-21 23:34:09 +00:00
thumb2-ifcvt3.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
thumb2-jtb.ll Enable arm jumpt table adjustment. 2009-11-17 21:24:11 +00:00
thumb2-ldm.ll
thumb2-ldr_ext.ll
thumb2-ldr_post.ll
thumb2-ldr_pre.ll
thumb2-ldr.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-ldrb.ll
thumb2-ldrd.ll
thumb2-ldrh.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-lsl2.ll
thumb2-lsl.ll
thumb2-lsr2.ll
thumb2-lsr3.ll
thumb2-lsr.ll
thumb2-mla.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-mls.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-mov.ll
thumb2-mul.ll
thumb2-mulhi.ll
thumb2-mvn2.ll
thumb2-mvn.ll
thumb2-neg.ll
thumb2-orn2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-orn.ll Miss two, PR5307. 2009-11-22 15:35:28 +00:00
thumb2-orr2.ll Miss two, PR5307. 2009-11-22 15:35:28 +00:00
thumb2-orr.ll
thumb2-pack.ll
thumb2-rev16.ll
thumb2-rev.ll
thumb2-ror2.ll
thumb2-ror.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-rsb2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-rsb.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-sbc.ll
thumb2-select_xform.ll update test for 89694 2009-11-23 20:39:53 +00:00
thumb2-select.ll
thumb2-shifter.ll Cleanup. Missed removing these when converting. Oops. 2009-11-17 00:00:33 +00:00
thumb2-smla.ll Convert to FileCheck 2009-11-17 00:20:26 +00:00
thumb2-smul.ll Convert to FileCheck 2009-11-17 00:20:26 +00:00
thumb2-spill-q.ll Besides removing phi cycles that reduce to a single value, also remove dead 2010-02-13 00:31:44 +00:00
thumb2-str_post.ll
thumb2-str_pre.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-str.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-strb.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-strh.ll Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm 2010-03-17 17:52:21 +00:00
thumb2-sub2.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-sub4.ll
thumb2-sub5.ll
thumb2-sub.ll
thumb2-sxt_rot.ll Convert to FileCheck 2009-11-17 00:03:38 +00:00
thumb2-tbb.ll
thumb2-tbh.ll Enable arm jumpt table adjustment. 2009-11-17 21:24:11 +00:00
thumb2-teq2.ll Convert to FileCheck 2009-11-16 20:04:15 +00:00
thumb2-teq.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-tst2.ll
thumb2-tst.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-uxt_rot.ll Convert to FileCheck 2009-11-16 19:46:46 +00:00
thumb2-uxtb.ll Drop the ".w" qualifier for t2UXTB16* instructions as there is no 16-bit version 2010-03-04 22:24:41 +00:00
tls1.ll
tls2.ll