llvm-6502/test/CodeGen/Thumb2
Jakob Stoklund Olesen c66d0f2a93 Allow a register to be redefined multiple times in a basic block.
LiveVariableAnalysis was a bit picky about a register only being redefined once,
but that really isn't necessary.

Here is an example of chained INSERT_SUBREGs that we can handle now:

68      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1028<kill>, 14
                register: %reg1040 +[70,134:0)
76      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1029<kill>, 13
                register: %reg1040 replace range with [70,78:1) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,134:0)  0@78-(134) 1@70-(78)
84      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1030<kill>, 12
                register: %reg1040 replace range with [78,86:2) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,134:0)  0@86-(134) 1@70-(78) 2@78-(86)
92      %reg1040<def> = INSERT_SUBREG %reg1040, %reg1031<kill>, 11
                register: %reg1040 replace range with [86,94:3) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,94:3)[94,134:0)  0@94-(134) 1@70-(78) 2@78-(86) 3@86-(94)

rdar://problem/8096390

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106152 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-16 21:29:40 +00:00
..
2009-07-17-CrossRegClassCopy.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-07-21-ISelBug.ll More consistent thumb1 asm printing. 2009-11-19 06:57:41 +00:00
2009-07-23-CPIslandBug.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-07-30-PEICrash.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-01-WrongLDRBOpc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-02-CoalescerBug.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-04-CoalescerAssert.ll Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
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 Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
2009-08-07-CoalescerBug.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Remove the arm_aapcscc marker from the tests. It is the default 2010-06-15 19:04:29 +00:00
2009-08-10-ISelBug.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-09-28-ITBlockBug.ll - Add pseudo instructions tLDRpci_pic and t2LDRpci_pic which does a pc-relative 2009-11-06 23:52:48 +00:00
2009-10-15-ITBlockBranch.ll Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler. 2010-06-16 07:35:02 +00:00
2009-11-01-CopyReg2RegBug.ll Unbreak ARMBaseRegisterInfo::copyRegToReg. 2009-11-02 04:44:55 +00:00
2009-11-11-ScavengerAssert.ll Fix typo in run line. 2009-11-12 12:35:27 +00:00
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
2010-05-24-rsbs.ll Thumb2 RSBS instructions were being printed without the 'S' suffix. 2010-05-24 18:44:06 +00:00
2010-06-14-NEONCoalescer.ll Add CoalescerPair helper class. 2010-06-15 16:04:21 +00:00
bfx.ll Update ARM DAGtoDAG for matching UBFX instruction for unsigned bitfield 2010-04-22 23:24:18 +00:00
carry.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
crash.ll Allow a register to be redefined multiple times in a basic block. 2010-06-16 21:29:40 +00:00
cross-rc-coalescing-1.ll Add a couple of ARM cross-rc coalescing tests. 2009-10-25 08:01:41 +00:00
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
div.ll fix copy/paste oops. 2010-05-05 21:07:46 +00:00
frameless2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
frameless.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 t2LEApcrel and tLEApcrel are re-materializable. This makes it possible to hoist more loads during machine LICM. 2010-05-19 07:28:01 +00:00
mul_const.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
pic-load.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
sign_extend_inreg.ll Clean up the conditional for handling of sign_extend_inreg based on 2010-05-07 18:34:55 +00:00
thumb2-adc.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add3.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-add4.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add5.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-add6.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-asr2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-asr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-bcc.ll Fix tests. 2009-11-01 18:13:29 +00:00
thumb2-bfc.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-bic.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Remove tail call to preserve this test. A tail 2010-06-03 21:57:48 +00:00
thumb2-cbnz.ll Add support for tail duplication to BranchFolding, and extend 2009-11-11 19:48:59 +00:00
thumb2-clz.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-cmn2.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-cmn.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-cmp2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-cmp.ll Cast MO.getImm() to unsigned before comparing with an unsigned limit. 2009-09-09 06:05:16 +00:00
thumb2-eor2.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
thumb2-eor.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ifcvt1.ll Remove tail call. A tail call version will follow. 2010-06-04 00:03:37 +00:00
thumb2-ifcvt2.ll Make post-ra scheduling, anti-dep breaking, and register scavenger (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler. 2010-06-16 07:35:02 +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 Make this test not use tail calls. A tail call 2010-06-03 21:53:01 +00:00
thumb2-ldr_ext.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldr_post.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldr_pre.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-ldrd.ll Enable pre-regalloc load / store multiple pass for Thumb2. 2009-09-27 09:46:04 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsl.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr3.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-lsr.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Consolidate test files 2009-10-31 22:20:56 +00:00
thumb2-mul.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-mulhi.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-mvn2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-mvn.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-neg.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-pack.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-rev16.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-rev.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-ror2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-select_xform.ll update test for 89694 2009-11-23 20:39:53 +00:00
thumb2-select.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-shifter.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-smla.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-smul.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-spill-q.ll Recognize more BUILD_VECTORs and VECTOR_SHUFFLEs that can be implemented by 2010-05-22 00:23:12 +00:00
thumb2-str_post.ll Fix Thumb2 failures by converting them to FileCheck. 2009-10-27 06:31:02 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-sub5.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-sub.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-sxt_rot.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-tbb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-tst.ll Convert Thumb2 tests to FileCheck for PR5307. 2009-11-22 15:18:27 +00:00
thumb2-uxt_rot.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-uxtb.ll Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
tls1.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
tls2.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00