llvm-project/llvm/test/CodeGen/Thumb2
Sjoerd Meijer d97cf1f889 [ARM][LowOverheadLoops] Remove dead loop update instructions.
After creating a low-overhead loop, the loop update instruction was still
lingering around hurting performance. This removes dead loop update
instructions, which in our case are mostly SUBS instructions.

To support this, some helper functions were added to MachineLoopUtils and
ReachingDefAnalysis to analyse live-ins of loop exit blocks and find uses
before a particular loop instruction, respectively.

This is a first version that removes a SUBS instruction when there are no other
uses inside and outside the loop block, but there are some more interesting
cases in test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll which
shows that there is room for improvement. For example, we can't handle this
case yet:

    ..
    dlstp.32  lr, r2
  .LBB0_1:
    mov r3, r2
    subs  r2, #4
    vldrh.u32 q2, [r1], #8
    vmov  q1, q0
    vmla.u32  q0, q2, r0
    letp  lr, .LBB0_1
  @ %bb.2:
    vctp.32 r3
    ..

which is a lot more tricky because r2 is not only used by the subs, but also by
the mov to r3, which is used outside the low-overhead loop by the vctp
instruction, and that requires a bit of a different approach, and I will follow
up on this.

Differential Revision: https://reviews.llvm.org/D71007
2019-12-11 10:20:19 +00:00
..
LowOverheadLoops [ARM][LowOverheadLoops] Remove dead loop update instructions. 2019-12-11 10:20:19 +00:00
mve-intrinsics [ARM][MVE] Add intrinsics for immediate shifts. (reland) 2019-12-11 10:10:09 +00:00
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll
2009-07-23-CPIslandBug.ll
2009-07-30-PEICrash.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-01-WrongLDRBOpc.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-02-CoalescerBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-CoalescerAssert.ll
2009-08-04-CoalescerBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-ScavengerAssert.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-08-04-SubregLoweringBug.ll Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
2009-08-04-SubregLoweringBug2.ll
2009-08-04-SubregLoweringBug3.ll
2009-08-06-SpDecBug.ll
2009-08-07-CoalescerBug.ll
2009-08-07-NeonFPBug.ll
2009-08-08-ScavengerAssert.ll
2009-08-10-ISelBug.ll
2009-08-21-PostRAKill4.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-09-01-PostRAProlog.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-10-15-ITBlockBranch.ll
2009-11-01-CopyReg2RegBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2009-11-11-ScavengerAssert.ll
2009-11-13-STRDBug.ll
2009-12-01-LoopIVUsers.ll
2010-01-06-TailDuplicateLabels.ll Work around grep vs. CRLF issue in Thumb2 test by matching excess whitespace 2018-09-18 00:04:29 +00:00
2010-01-19-RemovePredicates.ll
2010-02-11-phi-cycle.ll [MBP] Avoid tail duplication if it can't bring benefit 2019-12-06 09:53:53 -08:00
2010-02-24-BigStack.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2010-03-08-addi12-ccout.ll
2010-03-15-AsmCCClobber.ll Revert "ARM-Darwin: keep the frame register reserved even if not updated." 2019-12-06 10:59:26 -08:00
2010-04-15-DynAllocBug.ll [ARM] Run ARMParallelDSP in the IRPasses phase 2019-03-14 10:57:40 +00:00
2010-04-26-CopyRegCrash.ll
2010-05-24-rsbs.ll
2010-06-14-NEONCoalescer.ll [CodeGen] Don't print "pred:" and "opt:" in -debug output 2018-01-09 17:31:07 +00:00
2010-06-19-ITBlockCrash.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2010-06-21-TailMergeBug.ll [ARM] Remove EarlyCSE from backend 2019-03-15 13:36:37 +00:00
2010-08-10-VarSizedAllocaBug.ll
2010-11-22-EpilogueBug.ll Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred. 2018-06-20 22:01:04 +00:00
2010-12-03-AddSPNarrowing.ll
2011-04-21-FILoweringBug.ll
2011-06-07-TwoAddrEarlyClobber.ll
2011-12-16-T2SizeReduceAssert.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2012-01-13-CBNZBug.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
2013-02-19-tail-call-register-hint.ll
2013-03-02-vduplane-nonconstant-source-index.ll
2013-03-06-vector-sext-operand-scalarize.ll
aapcs.ll [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
aligned-constants.ll
aligned-spill.ll
bfi.ll
bfx.ll
bicbfi.ll [CodeGen] Always use `printReg` to print registers in both MIR and debug 2017-11-30 16:12:24 +00:00
buildvector-crash.ll
carry.ll
cbnz.ll [MBP] Avoid tail duplication if it can't bring benefit 2019-12-06 09:53:53 -08:00
cmp-frame.ll ARM: Don't rewrite add reg, $sp, 0 -> mov reg, $sp if the add defines CPSR. 2018-02-27 19:00:59 +00:00
constant-hoisting.ll [DAG] Refactor DAGCombiner::ReassociateOps 2019-04-29 17:50:10 +00:00
constant-islands-cbz.ll [ARM] Search backwards for CMP when combining into CBZ 2019-03-17 16:11:22 +00:00
constant-islands-cbz.mir [ARM] Check that CPSR does not have other uses 2019-03-17 21:36:15 +00:00
constant-islands-jump-table.ll
constant-islands-new-island-padding.ll
constant-islands-new-island.ll [ARM] Make -mcpu=generic schedule for an in-order core (Cortex-A8). 2017-06-28 07:07:03 +00:00
constant-islands.ll [ARM] Fix for buildbots 2019-09-17 14:21:36 +00:00
cortex-fp.ll ARM: Do not use llc -march in tests. 2017-08-01 22:20:49 +00:00
crash.ll
cross-rc-coalescing-1.ll
cross-rc-coalescing-2.ll [DAG] Move integer setcc %x, %x folding into FoldSetCC 2019-03-13 11:08:57 +00:00
csel.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
div.ll
emit-unwinding.ll
float-cmp.ll [ARM] Generate vcmp instead of vcmpe 2019-10-08 08:25:42 +00:00
float-intrinsics-double.ll [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
float-intrinsics-float.ll [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
float-ops.ll [ARM] Split large truncating MVE stores 2019-09-24 10:10:41 +00:00
fp16-stacksplot.mir [ARM] Reserve an emergency spill slot for fp16 addressing modes that need it 2019-09-17 15:23:09 +00:00
frame-pointer.ll
frameless.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
frameless2.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
high-reg-spill.mir Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
ifcvt-cbz.mir Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
ifcvt-compare.ll
ifcvt-minsize.ll [ARM] Don't replicate instructions in Ifcvt at minsize 2019-04-23 11:46:58 +00:00
ifcvt-neon-deprecated.mir [ARM][ReachingDefs] RDA in LoLoops 2019-11-26 10:13:46 +00:00
ifcvt-no-branch-predictor.ll [ARM] Cortex-M4 schedule 2019-05-15 12:41:58 +00:00
ifcvt-rescan-bug-2016-08-22.ll [CodeGen] Unify MBB reference format in both MIR and debug output 2017-12-04 17:18:51 +00:00
ifcvt-rescan-diamonds.ll
inflate-regs.ll
inline-asm-i-constraint-i1.ll [TargetLowering] Extend bool args to inline-asm according to getBooleanType 2019-05-22 16:16:15 +00:00
inlineasm-error-t-toofewregs-mve.ll [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
inlineasm-mve.ll [ARM] Support inline assembler constraints for MVE. 2019-06-25 16:49:32 +00:00
inlineasm.ll
intrinsics-cc.ll [ARM] Honor -mfloat-abi for libcall calling convention 2017-10-26 21:42:32 +00:00
intrinsics-coprocessor.ll ARM: Do not use llc -march in tests. 2017-08-01 22:20:49 +00:00
large-call.ll
large-stack.ll ARM: Do not use llc -march in tests. 2017-08-01 22:20:49 +00:00
ldr-str-imm12.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
lit.local.cfg [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
longMACt.ll
lsll0.ll [ARM] Ensure we do not attempt to create lsll #0 2019-09-25 10:16:48 +00:00
lsr-deficiency.ll
m4-sched-ldr.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
m4-sched-regs.ll [ARM] Don't use the Machine Scheduler for cortex-m at minsize 2019-05-15 12:58:02 +00:00
machine-licm.ll Replace "no-frame-pointer-*" function attributes with "frame-pointer" 2019-01-14 10:55:55 +00:00
mul_const.ll
mve-abs.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-basic.ll [ARM] MVE loads and stores 2019-06-28 08:41:40 +00:00
mve-be.ll [ARM] MVE big endian loads/stores 2019-08-08 15:15:19 +00:00
mve-bitarith.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-bitcasts.ll [ARM] MVE vector shuffles 2019-06-28 07:08:42 +00:00
mve-bitreverse.ll [ARM] Add patterns for bitreverse intrinsic on MVE 2019-09-16 15:20:03 +00:00
mve-bswap.ll [ARM] Add patterns for BSWAP intrinsic on MVE 2019-09-16 15:20:10 +00:00
mve-ctlz.ll [ARM] Add patterns for CTLZ on MVE 2019-09-16 15:19:49 +00:00
mve-ctpop.ll [ARM] Expand CTPOP intrinsic for MVE 2019-08-07 15:47:45 +00:00
mve-cttz.ll [ARM] Fix CTTZ not generating correct instructions MVE 2019-09-20 15:03:44 +00:00
mve-div-expand.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-extractelt.ll [ARM,MVE] Use VMOV.{S8,S16} for sign-extended extractelement. 2019-11-13 09:08:41 +00:00
mve-fmas.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-fmath.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-fp-negabs.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-frint.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-ldst-offset.ll [ARM] Fix MVE ldst offset ranges 2019-09-03 09:57:02 +00:00
mve-ldst-postinc.ll [ARM] More MVE load/store tests for offsets around the negative limit. NFC 2019-09-03 09:42:16 +00:00
mve-ldst-preinc.ll [ARM] More MVE load/store tests for offsets around the negative limit. NFC 2019-09-03 09:42:16 +00:00
mve-ldst-regimm.ll [ARM] Add support for MVE pre and post inc loads and stores 2019-08-08 15:27:58 +00:00
mve-loadstore.ll [ARM] Fix MVE ldst offset ranges 2019-09-03 09:57:02 +00:00
mve-masked-ldst-offset.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-masked-ldst-postinc.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-masked-ldst-preinc.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-masked-ldst.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-masked-load.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-masked-store.ll [ARM] Enable MVE masked loads and stores 2019-12-09 11:37:34 +00:00
mve-minmax.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-multivec-spill.ll [ARM] Multi-vector MVE spill test 2019-11-05 16:17:25 +00:00
mve-neg.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-nofloat.ll [ARM] Add test for MVE and no floats. NFC 2019-07-09 14:43:17 +00:00
mve-phireg.ll [ARM] Use MQPR not QPR for MVE registers 2019-09-02 17:18:23 +00:00
mve-pred-and.ll [ARM,MVE] Add reversed isel patterns for MVE `vcmp qN,rN` 2019-11-15 14:06:00 +00:00
mve-pred-bitcast.ll [ARM] A predicate cast of a predicate cast is a predicate cast 2019-09-16 17:29:07 +00:00
mve-pred-build-const.ll [ARM] MVE predicate register support 2019-07-24 11:51:36 +00:00
mve-pred-build-var.ll [ARM] MVE i1 splat 2019-09-19 12:17:41 +00:00
mve-pred-ext.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-pred-loadstore.ll [ARM] A predicate cast of a predicate cast is a predicate cast 2019-09-16 17:29:07 +00:00
mve-pred-not.ll [ARM] Fold VCMP into VPT 2019-09-16 13:02:41 +00:00
mve-pred-or.ll [ARM] Fold VCMP into VPT 2019-09-16 13:02:41 +00:00
mve-pred-shuffle.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-pred-spill.ll [ARM] MVE big endian loads/stores 2019-08-08 15:15:19 +00:00
mve-pred-xor.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-saturating-arith.ll [ARM] VQSUB instruction 2019-10-10 16:34:30 +00:00
mve-sext.ll [ARM] MVE sext and widen/narrow tests from larger types. NFC 2019-09-24 10:39:58 +00:00
mve-shifts.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-shuffle.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-shuffleext.ll [ARM] Identity shuffles are legal 2019-10-02 11:40:51 +00:00
mve-shufflemov.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-simple-arith.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-soft-float-abi.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-stack.ll [ARM] Add a SelectTAddrModeImm7 for MVE narrow loads and stores 2019-09-17 15:32:28 +00:00
mve-stacksplot.mir [ARM] Fix for MVE load/store stack accesses 2019-09-17 12:58:51 +00:00
mve-vaddqr.ll [ARM] Add patterns for VADD with q and r registers 2019-09-06 17:02:35 +00:00
mve-vaddv.ll Reapply: [ARM] Fix lsrl with a 128/256 bit shift amount or a shift of 32 2019-08-22 10:29:20 +00:00
mve-vcmp.ll [ARM] Ignore Implicit CPSR regs when lowering from Machine to MC operands 2019-09-03 11:30:54 +00:00
mve-vcmpf.ll [ARM] Generate vcmp instead of vcmpe 2019-10-08 08:25:42 +00:00
mve-vcmpfr.ll [ARM] More reversed vcmp tests. NFC 2019-12-02 19:57:12 +00:00
mve-vcmpfz.ll [ARM] Add some VCMP folding and canonicalisation 2019-12-02 19:57:12 +00:00
mve-vcmpr.ll [ARM] More reversed vcmp tests. NFC 2019-12-02 19:57:12 +00:00
mve-vcmpz.ll [ARM] More reversed vcmp tests. NFC 2019-12-02 19:57:12 +00:00
mve-vctp.ll [ARM,MVE] Rename and clean up VCTP IR intrinsics. 2019-12-02 16:20:30 +00:00
mve-vcvt.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-vdup.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-vector-spill.ll [ARM] MVE spill vector test. NFC 2019-08-11 09:12:57 +00:00
mve-vfma.ll [MVE] VMOVX patterns 2019-08-28 10:13:23 +00:00
mve-vhaddsub.ll [ARM] Remove VHADD patterns 2019-12-02 10:38:14 +00:00
mve-vld2.ll [ARM] MVE interleaving load and stores. 2019-11-19 18:37:30 +00:00
mve-vld3.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-vld4.ll [ARM] Disable VLD4 under MVE 2019-12-08 10:37:29 +00:00
mve-vldst4.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-vmaxv.ll [ARM] Simplify and update vmla test. NFC 2019-09-15 11:53:05 +00:00
mve-vmla.ll [ARM] Simplify and update vmla test. NFC 2019-09-15 11:53:05 +00:00
mve-vmovimm.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-vmovn.ll [ARM] Selection for MVE VMOVN 2019-10-14 15:19:33 +00:00
mve-vmulqr.ll [ARM] Add patterns for VMUL with q and r registers 2019-09-06 17:02:21 +00:00
mve-vmvnimm.ll [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
mve-vpsel.ll [ARM] MVE predicate bitcast test and VPSEL adjustment. NFC 2019-09-02 19:03:35 +00:00
mve-vpt-block.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block2.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block3.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block4.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block5.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block6.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block7.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-block8.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vpt-from-intrinsics.ll [ARM,MVE] Rename and clean up VCTP IR intrinsics. 2019-12-02 16:20:30 +00:00
mve-vpt-nots.mir [ARM][MVE] Change VPST to use, not def, VPR 2019-10-17 08:46:31 +00:00
mve-vst2.ll [ARM] MVE interleaving load and stores. 2019-11-19 18:37:30 +00:00
mve-vst3.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-vst4.ll [ARM] Attempt to use whole register vmovs for MVE shuffles. 2019-12-08 10:53:54 +00:00
mve-vsubqr.ll [ARM] Add patterns for VSUB with q and r registers 2019-09-06 17:02:42 +00:00
mve-widen-narrow.ll [ARM] Split large widening MVE loads 2019-09-24 10:53:09 +00:00
peephole-addsub.mir [ARM] Ensure we update the correct flags in the peephole optimiser 2019-02-14 11:09:24 +00:00
peephole-cmp.mir Describe stack-id as an enum 2019-06-17 09:13:29 +00:00
pic-load.ll
segmented-stacks.ll ARM: Do not use llc -march in tests. 2017-08-01 22:20:49 +00:00
setjmp_longjmp.ll
stack_guard_remat.ll
t2-teq-reduce.mir [ARM] Size reduce teq to eors 2019-01-10 08:36:33 +00:00
t2sizereduction.mir [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
tail-call-r9.ll
tbb-removeadd.mir [Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing 2019-09-11 11:16:48 +00:00
thumb2-adc.ll
thumb2-add.ll
thumb2-add2.ll
thumb2-add3.ll
thumb2-add4.ll
thumb2-add5.ll
thumb2-add6.ll
thumb2-and.ll
thumb2-and2.ll
thumb2-asr.ll
thumb2-asr2.ll
thumb2-bcc.ll
thumb2-bfc.ll
thumb2-bic.ll
thumb2-branch.ll
thumb2-call-tc.ll
thumb2-call.ll
thumb2-cbnz.ll
thumb2-clz.ll
thumb2-cmn.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-cmn2.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-cmp.ll [ARM] Treat cmn immediates as legal in isLegalICmpImmediate. 2018-07-10 23:44:37 +00:00
thumb2-cpsr-liveness.ll
thumb2-eor.ll
thumb2-eor2.ll
thumb2-ifcvt1-tc.ll
thumb2-ifcvt1.ll
thumb2-ifcvt2.ll MachO: trap unreachable instructions 2018-04-13 22:25:20 +00:00
thumb2-ifcvt3.ll
thumb2-jtb.ll Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred. 2018-06-20 22:01:04 +00:00
thumb2-ldm.ll
thumb2-ldr.ll
thumb2-ldr_ext.ll
thumb2-ldr_post.ll
thumb2-ldr_pre.ll [NFC][Thumb2] Autogenerate thumb2-ldr_pre.ll test 2019-05-21 21:49:05 +00:00
thumb2-ldrb.ll
thumb2-ldrd.ll
thumb2-ldrh.ll
thumb2-lsl.ll
thumb2-lsl2.ll
thumb2-lsr.ll
thumb2-lsr2.ll
thumb2-lsr3.ll
thumb2-mla.ll
thumb2-mls.ll
thumb2-mov.ll
thumb2-mul.ll
thumb2-mulhi.ll
thumb2-mvn.ll
thumb2-mvn2.ll
thumb2-neg.ll
thumb2-orn.ll
thumb2-orn2.ll
thumb2-orr.ll
thumb2-orr2.ll
thumb2-pack.ll
thumb2-rev.ll
thumb2-rev16.ll ARM: Do not use llc -march in tests. 2017-08-01 22:20:49 +00:00
thumb2-ror.ll
thumb2-rsb.ll
thumb2-rsb2.ll
thumb2-sbc.ll
thumb2-select.ll
thumb2-select_xform.ll [ARM] Return true in enableMultipleCopyHints(). 2018-02-16 09:51:01 +00:00
thumb2-shifter.ll
thumb2-smla.ll
thumb2-smul.ll
thumb2-spill-q.ll [Thumb] preserve test intent by removing undef 2018-05-16 22:47:42 +00:00
thumb2-str.ll
thumb2-str_post.ll
thumb2-str_pre.ll
thumb2-strb.ll
thumb2-strh.ll
thumb2-sub.ll
thumb2-sub2.ll
thumb2-sub3.ll
thumb2-sub4.ll
thumb2-sub5.ll
thumb2-sxt-uxt.ll
thumb2-sxt_rot.ll
thumb2-tbb.ll
thumb2-tbh.ll [ARM] Make InstrEmitter mark CPSR defs dead for Thumb1. 2018-10-26 19:32:24 +00:00
thumb2-teq.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-teq2.ll [ARM] Size reduce teq to eors 2019-01-10 08:36:33 +00:00
thumb2-tst.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-tst2.ll [ARM] Materialise some boolean values to avoid a branch 2018-02-16 09:23:59 +00:00
thumb2-uxt_rot.ll
thumb2-uxtb.ll Regenerate UXTB tests 2019-07-27 18:44:15 +00:00
tls1.ll
tls2.ll
tpsoft.ll [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
umulo-64-legalisation-lowering.ll [SchedModel] Fix for read advance cycles with implicit pseudo operands. 2018-10-30 15:04:40 +00:00
umulo-128-legalisation-lowering.ll [ARM] Add missing memory operands to a bunch of instructions. 2019-03-25 22:42:30 +00:00
unreachable-large-offset-gep.ll CGP: Clear data structures at the end of a loop iteration instead of the beginning. 2018-10-23 21:23:18 +00:00
v8_IT_1.ll
v8_IT_2.ll
v8_IT_3.ll [Codegen] Merge tail blocks with no successors after block placement 2019-06-13 18:11:32 +00:00
v8_IT_4.ll
v8_IT_5.ll [Dominators] Include infinite loops in PostDominatorTree 2017-08-15 18:14:57 +00:00
v8_IT_6.ll
v8_deprecate_IT.ll [ARM] Comply with rules on ARMv8-A thumb mode partial deprecation of IT. 2019-06-18 20:55:09 +00:00
vqabs.ll [ARM][MVE] Select vqabs 2019-11-20 13:58:38 +00:00
vqneg.ll [ARM][MVE] Select vqneg 2019-11-25 11:29:14 +00:00