1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/CodeGen/Thumb2
Jakob Stoklund Olesen f9a94f9154 Add CoalescerPair helper class.
Given a copy instruction, CoalescerPair can determine which registers to
coalesce in order to eliminate the copy. It deals with all the subreg fun to
determine a tuple (DstReg, SrcReg, SubIdx) such that:

- SrcReg is a virtual register that will disappear after coalescing.
- DstReg is a virtual or physical register whose live range will be extended.
- SubIdx is 0 when DstReg is a physical register.
- SrcReg can be joined with DstReg:SubIdx.

CoalescerPair::isCoalescable() determines if another copy instruction is
compatible with the same tuple. This fixes some NEON miscompilations where
shuffles are getting coalesced as if they were copies.

The CoalescerPair class will replace a lot of the spaghetti logic in JoinCopy
later.

llvm-svn: 105997
2010-06-15 16:04:21 +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 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
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
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
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
div.ll fix copy/paste oops. 2010-05-05 21:07:46 +00:00
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 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
pic-load.ll
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
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 Remove tail call to preserve this test. A tail 2010-06-03 21:57:48 +00:00
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 Remove tail call. A tail call version will follow. 2010-06-04 00:03:37 +00:00
thumb2-ifcvt2.ll More tail call removal. 2010-06-04 21:14:24 +00:00
thumb2-ifcvt3.ll Start function numbering at 0. 2010-04-17 16:29:15 +00:00
thumb2-jtb.ll
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
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 Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-rev16.ll
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
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 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
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 Cleanup of ARMv7M support. Move hardware divide and Thumb2 extract/pack 2010-05-05 23:44:43 +00:00
thumb2-tbb.ll
thumb2-tbh.ll
thumb2-teq2.ll
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 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
tls2.ll