llvm-6502/test/CodeGen/Thumb2
Bob Wilson fe61fb1e10 Add a new pass on machine instructions to optimize away PHI cycles that
reduce down to a single value.  InstCombine already does this transformation
but DAG legalization may introduce new opportunities.  This has turned out to
be important for ARM where 64-bit values are split up during type legalization:
InstCombine is not able to remove the PHI cycles on the 64-bit values but
the separate 32-bit values can be optimized.  I measured the compile time 
impact of this (running llc on 176.gcc) and it was not significant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95951 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12 01:30:21 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-04-CoalescerBug.ll Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. 2009-10-01 22:19:57 +00:00
2009-08-04-ScavengerAssert.ll Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. 2009-10-01 22:19:57 +00:00
2009-08-04-SubregLoweringBug2.ll Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. 2009-10-01 22:19:57 +00:00
2009-08-04-SubregLoweringBug3.ll Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. 2009-10-01 22:19:57 +00:00
2009-08-04-SubregLoweringBug.ll Fix PR5367. QPR_8 is the super regclass of DPR_8 and SPR_8. 2009-11-03 05:52:54 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
2009-08-07-NeonFPBug.ll Remove neonfp attribute and instead set default based on CPU string. Add -arm-use-neon-fp to override the default. 2009-10-01 22:19:57 +00:00
2009-08-08-ScavengerAssert.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Branches must be the last instruction in a Thumb2 IT block. Approved by Evan Cheng. 2009-10-15 22:25:32 +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 Add a new pass on machine instructions to optimize away PHI cycles that 2010-02-12 01:30:21 +00:00
carry.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Reapply coalescer fix for better cross-class coalescing. 2010-02-11 23:55:29 +00:00
dg.exp
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 Make this test pass on Linux. 2009-12-16 07:35:25 +00:00
ldr-str-imm12.ll Remat VLDRD from constpool. Clean up some instruction property specifications. 2009-11-20 19:57:15 +00:00
load-global.ll Fix a broken test. 2009-11-06 23:06:42 +00:00
lsr-deficiency.ll Revert LoopStrengthReduce.cpp to pre-r94061 for now. 2010-01-22 00:46:49 +00:00
machine-licm.ll Enable hoisting load from constant memories. 2009-11-20 23:31:34 +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
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 Force triple; darwin's ASM syntax differs from linux's. 2009-10-31 19:54:06 +00:00
thumb2-call.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Revert LoopStrengthReduce.cpp to pre-r94061 for now. 2010-01-22 00:46:49 +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 Add support for tail duplication to BranchFolding, and extend 2009-11-11 19:48:59 +00:00
thumb2-jtb.ll Enable arm jumpt table adjustment. 2009-11-17 21:24:11 +00:00
thumb2-ldm.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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. 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 Handle AddrMode6 (for NEON load/stores) in Thumb2's rewriteT2FrameIndex. 2010-02-06 00:24:38 +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 Convert to FileCheck 2009-11-17 00:20:26 +00:00
thumb2-str.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-strb.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +00:00
thumb2-strh.ll Eliminate more uses of llvm-as and llvm-dis. 2009-09-09 00:09:15 +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 Convert to FileCheck 2009-11-17 00:03:38 +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 Convert to FileCheck 2009-11-16 19:46:46 +00:00
thumb2-uxtb.ll Convert to FileCheck 2009-11-17 00:20:26 +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