1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/Thumb2
Mandeep Singh Grang bc857175cc Fix PR26655: Bail out if all regs of an inst BUNDLE have the correct kill flag
Summary:
While setting kill flags on instructions inside a BUNDLE, we bail out as soon
as we set kill flag on a register.  But we are missing a check when all the
registers already have the correct kill flag set. We need to bail out in that
case as well.

This patch refactors the old code and simply makes use of the addRegisterKilled
function in MachineInstr.cpp in order to determine whether to set/remove kill
on an instruction.

Reviewers: apazos, t.p.northover, pete, MatzeB

Subscribers: MatzeB, davide, llvm-commits

Differential Revision: http://reviews.llvm.org/D17356

llvm-svn: 269092
2016-05-10 17:57:27 +00:00
..
2009-07-17-CrossRegClassCopy.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-07-21-ISelBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-07-23-CPIslandBug.ll
2009-07-30-PEICrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-01-WrongLDRBOpc.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-02-CoalescerBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-04-CoalescerAssert.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-08-04-CoalescerBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-08-04-ScavengerAssert.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-08-04-SubregLoweringBug2.ll
2009-08-04-SubregLoweringBug3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-04-SubregLoweringBug.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2009-08-06-SpDecBug.ll ARM: When spilling extra registers for alignment, prefer low registers on all Thumb targets. 2015-04-23 20:31:26 +00:00
2009-08-07-CoalescerBug.ll
2009-08-07-NeonFPBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-08-ScavengerAssert.ll
2009-08-10-ISelBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-08-21-PostRAKill4.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2009-09-01-PostRAProlog.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2009-09-28-ITBlockBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-10-15-ITBlockBranch.ll
2009-11-01-CopyReg2RegBug.ll
2009-11-11-ScavengerAssert.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2009-11-13-STRDBug.ll
2009-12-01-LoopIVUsers.ll [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
2010-01-06-TailDuplicateLabels.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-01-19-RemovePredicates.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
2010-02-11-phi-cycle.ll
2010-02-24-BigStack.ll
2010-03-08-addi12-ccout.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-03-15-AsmCCClobber.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2010-04-15-DynAllocBug.ll ARM & AArch64: make use of common cmpxchg idioms after expansion 2014-05-30 10:09:59 +00:00
2010-04-26-CopyRegCrash.ll
2010-05-24-rsbs.ll
2010-06-14-NEONCoalescer.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2010-06-19-ITBlockCrash.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2010-06-21-TailMergeBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
2010-08-10-VarSizedAllocaBug.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
2010-11-22-EpilogueBug.ll ARM & AArch64: make use of common cmpxchg idioms after expansion 2014-05-30 10:09:59 +00:00
2010-12-03-AddSPNarrowing.ll
2011-04-21-FILoweringBug.ll
2011-06-07-TwoAddrEarlyClobber.ll Thumb2: When optimizing for size, do not if-convert branches involving comparisons with zero. 2015-04-23 20:31:30 +00:00
2011-12-16-T2SizeReduceAssert.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2012-01-13-CBNZBug.ll Revert "Change memcpy/memset/memmove to have dest and source alignments." 2015-11-19 05:56:52 +00:00
2013-02-19-tail-call-register-hint.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
2013-03-02-vduplane-nonconstant-source-index.ll Fix a nasty bug in DAGCombine of STORE nodes. 2015-03-19 22:48:57 +00:00
2013-03-06-vector-sext-operand-scalarize.ll
aapcs.ll ARMLoadStoreOptimizer: Create LDRD/STRD on thumb2 2015-07-21 00:18:59 +00:00
aligned-constants.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
aligned-spill.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
bfi.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
bfx.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
buildvector-crash.ll ARM & AArch64: make use of common cmpxchg idioms after expansion 2014-05-30 10:09:59 +00:00
carry.ll Address buildbot fallout from r259065 2016-01-28 18:59:04 +00:00
cbnz.ll Thumb2: When applying branch optimizations, visit branches in reverse order. 2015-04-23 20:31:35 +00:00
constant-islands-jump-table.ll ARM: recommit r237590: allow jump tables to be placed as constant islands. 2015-05-31 19:22:07 +00:00
constant-islands-new-island-padding.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
constant-islands-new-island.ll ARM: allow constpool entry to be moved to the user's block in all cases. 2014-11-13 17:58:53 +00:00
constant-islands.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
cortex-fp.ll [ARM] Add support for Cortex-M7, FPv5-SP and FPv5-DP (LLVM) 2014-10-01 09:02:17 +00:00
crash.ll [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +00:00
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
div.ll [ARM] support for Cortex-R4/R4F 2015-04-09 14:07:28 +00:00
emit-unwinding.ll ARM: use r7 as the frame-pointer on all MachO targets. 2016-04-11 22:27:40 +00:00
float-cmp.ll [SDAG] Optimize unordered comparison in soft-float mode (patch by Anton Nadolskiy) 2015-07-15 08:39:35 +00:00
float-intrinsics-double.ll LegalizeDAG: Fix and improve FCOPYSIGN/FABS legalization 2015-11-12 01:02:47 +00:00
float-intrinsics-float.ll [ARM] Use correct half-precision functions in EABI mode 2015-10-07 16:58:49 +00:00
float-ops.ll ARMLoadStoreOptimizer: Fix errata 602117 handling and make testcase actually test for it 2015-06-24 20:03:27 +00:00
frameless2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
frameless.ll
ifcvt-compare.ll [ARM] Enable shrink-wrapping by default. 2015-11-18 00:40:54 +00:00
ifcvt-neon.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inflate-regs.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
inlineasm.ll
large-call.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
large-stack.ll ARM: When spilling extra registers for alignment, prefer low registers on all Thumb targets. 2015-04-23 20:31:26 +00:00
ldr-str-imm12.ll [Codegen] Decrease minimum jump table density. 2016-03-29 00:23:41 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
longMACt.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
lsr-deficiency.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
machine-licm.ll [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +00:00
mul_const.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
pic-load.ll ARM: Add scheduling information for LDRLIT instructions to swift scheduling model 2015-07-17 23:18:26 +00:00
segmented-stacks.ll Move the segmented stack switch to a function attribute 2014-04-10 22:58:43 +00:00
setjmp_longjmp.ll Arm: Don't define a label twice with two setjmps in a function. 2015-07-16 22:34:20 +00:00
stack_guard_remat.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
tail-call-r9.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-adc.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add3.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add4.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add5.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add6.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-add.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-and2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-and.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-asr2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-asr.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-bcc.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-bfc.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-bic.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-branch.ll ARM & AArch64: make use of common cmpxchg idioms after expansion 2014-05-30 10:09:59 +00:00
thumb2-call-tc.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-call.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-cbnz.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
thumb2-clz.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-cmn2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-cmn.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
thumb2-cmp2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-cmp.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-cpsr-liveness.ll Fix PR26655: Bail out if all regs of an inst BUNDLE have the correct kill flag 2016-05-10 17:57:27 +00:00
thumb2-eor2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-eor.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-ifcvt1-tc.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ifcvt1.ll [ARM] Enable shrink-wrapping by default. 2015-11-18 00:40:54 +00:00
thumb2-ifcvt2.ll [ARM] Enable shrink-wrapping by default. 2015-11-18 00:40:54 +00:00
thumb2-ifcvt3.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-jtb.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-ldm.ll ARM: Introduce conservative load/store optimization mode 2016-03-02 19:20:00 +00:00
thumb2-ldr_ext.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldr_post.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldr_pre.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldr.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldrb.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldrd.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-ldrh.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-lsl2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-lsl.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-lsr2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-lsr3.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-lsr.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-mla.ll ARM: fix test case missed in previous roundup 2014-04-04 01:19:56 +00:00
thumb2-mls.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-mov.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-mul.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-mulhi.ll [ARM] Renaming +t2dsp feature into +dsp, as discussed on llvm-dev 2015-10-23 17:19:19 +00:00
thumb2-mvn2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-mvn.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-neg.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-orn2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-orn.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-orr2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-orr.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-pack.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-rev16.ll
thumb2-rev.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-ror.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-rsb2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-rsb.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sbc.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-select_xform.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-select.ll ARM: update even more tests 2014-04-03 17:35:22 +00:00
thumb2-shifter.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-smla.ll [ARM] Renaming +t2dsp feature into +dsp, as discussed on llvm-dev 2015-10-23 17:19:19 +00:00
thumb2-smul.ll [ARM] Renaming +t2dsp feature into +dsp, as discussed on llvm-dev 2015-10-23 17:19:19 +00:00
thumb2-spill-q.ll [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +00:00
thumb2-str_post.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-str_pre.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
thumb2-str.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
thumb2-strb.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
thumb2-strh.ll [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction 2015-02-27 19:29:02 +00:00
thumb2-sub2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sub3.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sub4.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sub5.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sub.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-sxt_rot.ll ARM: spot SBFX-compatbile code expressed with sign_extend_inreg 2014-07-23 13:59:12 +00:00
thumb2-sxt-uxt.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-tbb.ll [MC] Use .p2align instead of .align 2016-01-26 00:03:25 +00:00
thumb2-tbh.ll ARM: recommit r237590: allow jump tables to be placed as constant islands. 2015-05-31 19:22:07 +00:00
thumb2-teq2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-teq.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-tst2.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-tst.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
thumb2-uxt_rot.ll Fix test case label check 2015-11-20 20:24:49 +00:00
thumb2-uxtb.ll ARM: yet another round of ARM test clean ups 2014-04-03 23:47:24 +00:00
tls1.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
tls2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
tpsoft.ll ARM: When spilling extra registers for alignment, prefer low registers on all Thumb targets. 2015-04-23 20:31:26 +00:00
v8_IT_1.ll [ARM][NEON] Use address space in vld([1234]|[234]lane) and vst([1234]|[234]lane) instructions 2015-09-30 10:56:37 +00:00
v8_IT_2.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
v8_IT_3.ll Distribute the weight on the edge from switch to default statement to edges generated in lowering switch. 2015-09-01 01:42:16 +00:00
v8_IT_4.ll
v8_IT_5.ll [ARM] Enable shrink-wrapping by default. 2015-11-18 00:40:54 +00:00
v8_IT_6.ll ARMv8 IfConversion must skip narrow instructions that a) define CPSR and b) wouldn't affect CPSR in an IT block 2014-02-26 11:27:28 +00:00