llvm-project/llvm/test/CodeGen/Thumb2
David Green 892af45c86 [ARM] Distribute MVE post-increments
This adds some extra processing into the Pre-RA ARM load/store optimizer
to detect and merge MVE loads/stores and adds of the same base. This we
don't always turn into a post-inc during ISel, and due to the nature of
it being a graph we don't always know an order to use for the nodes, not
knowing which nodes to make post-inc and which to use the new post-inc
of. After ISel, we have an order that we can use to post-inc the
following instructions.

So this looks for a loads/store with a starting offset of 0, and an
add/sub from the same base, plus a number of other loads/stores. We then
do some checks and convert the zero offset load/store into a postinc
variant. Any loads/stores after it have the offset subtracted from their
immediates.  For example:
  LDR #4           LDR #4
  LDR #0           LDR_POSTINC #16
  LDR #8           LDR #-8
  LDR #12          LDR #-4
  ADD #16
It only handles MVE loads/stores at the moment. Normal loads/store will
be added in a followup patch, they just have some extra details to
ensure that we keep generating LDRD/LDM successfully.

Differential Revision: https://reviews.llvm.org/D77813
2020-04-22 14:16:51 +01:00
..
LowOverheadLoops [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
mve-intrinsics [ARM] Regenerate tests. NFC 2020-04-19 13:45:39 +01:00
2009-07-17-CrossRegClassCopy.ll
2009-07-21-ISelBug.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08: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 [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
aligned-spill.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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
bug-subw.ll [ARM][Thumb2] Fix ADD/SUB invalid writes to SP 2020-01-14 11:47:19 +00:00
buildvector-crash.ll
call-site-info-update.ll [CallSiteInfo] Handle bundles when updating call site info 2020-02-27 13:57:06 +01:00
carry.ll
cbnz.ll [MBP] Avoid tail duplication if it can't bring benefit 2019-12-06 09:53:53 -08:00
cde-gpr.ll [ARM,CDE] Implement GPR CDE intrinsics 2020-03-20 14:01:51 +00:00
cde-vec.ll [ARM,CDE] Implement predicated Q-register CDE intrinsics 2020-03-25 17:08:19 +00:00
cde-vfp.ll [ARM,CDE] Implement CDE S and D-register intrinsics 2020-03-20 14:01:53 +00: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 Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
constant-islands-jump-table.ll
constant-islands-new-island-padding.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
constant-islands-new-island.ll
constant-islands.ll [ARM] Fix for buildbots 2019-09-17 14:21:36 +00:00
cortex-fp.ll
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 [ARM][Thumb][FIX] Add unwinding information to t4 2019-12-30 15:59:48 +00:00
fir.ll [ARM] Optimise ASRL/LSRL to smaller shifts using demand bits. 2020-03-13 10:09:03 +00:00
float-cmp.ll [TargetLowering][ARM][X86] Change softenSetCCOperands handling of ONE to avoid spurious exceptions for QNANs with strict FP quiet compares 2020-01-10 11:00:17 -08:00
float-intrinsics-double.ll [ARM] Use isFMAFasterThanFMulAndFAdd for scalars as well as MVE vectors 2020-01-05 11:24:04 +00:00
float-intrinsics-float.ll [ARM] Use isFMAFasterThanFMulAndFAdd for scalars as well as MVE vectors 2020-01-05 11:24:04 +00:00
float-ops.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
fp16-stacksplot.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
frame-pointer.ll Migrate function attribute "no-frame-pointer-elim-non-leaf" to "frame-pointer"="non-leaf" as cleanups after D56351 2019-12-24 16:05:15 -08:00
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 [MIR] Add comments to INLINEASM immediate flag MachineOperands 2020-04-16 13:46:14 +02:00
ifcvt-cbz.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
ifcvt-compare.ll
ifcvt-minsize.ll Revert "[IPRA][ARM] Spill extra registers at -Oz" 2020-04-06 10:34:59 +01: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
intrinsics-coprocessor.ll
large-call.ll [ARM][THUMB2] Allow emitting T3 types of add and sub 2019-12-30 11:03:58 +00:00
large-stack.ll
ldr-str-imm12.ll Revert "[NFC][ARM] Update test" 2020-02-28 09:14:50 -08: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 [TargetLowering] SimplifyDemandedBits - call SimplifyMultipleUseDemandedBits for ISD::EXTRACT_VECTOR_ELT (REAPPLIED) 2020-01-04 13:15:50 +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] Fix vreinterpretq in big-endian mode. 2020-02-03 11:20:06 +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 [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
mve-ctpop.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
mve-cttz.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
mve-div-expand.ll [ARM] Fixup FP16 bitcasts 2020-02-27 12:19:31 +00:00
mve-extractelt.ll [ARM,MVE] Use VMOV.{S8,S16} for sign-extended extractelement. 2019-11-13 09:08:41 +00:00
mve-float16regloops.ll [ARM] Sink splats to vector float instructions 2020-03-26 09:02:18 +00:00
mve-float32regloops.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-fma-loops.ll [ARM] MVE FMA loop tests. NFC 2020-04-22 13:27:40 +01:00
mve-fmas.ll [ARM] Change VDUP type to i32 for MVE 2020-03-20 09:48:45 +00:00
mve-fmath.ll [ARM] Fixup FP16 bitcasts 2020-02-27 12:19:31 +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-gather-ind8-unscaled.ll [ARM][MVE] Masked gathers from base + vector of offsets 2020-01-14 10:33:52 +00:00
mve-gather-ind16-scaled.ll [ARM][MVE] Masked gathers from base + vector of offsets 2020-01-14 10:33:52 +00:00
mve-gather-ind16-unscaled.ll [ARM][MVE] Restrict allowed types of gather/scatter offsets 2020-03-02 10:04:12 +00:00
mve-gather-ind32-scaled.ll [ARM][MVE] Enable extending gathers 2020-01-16 15:24:54 +00:00
mve-gather-ind32-unscaled.ll [ARM][MVE] Enable extending gathers 2020-01-16 15:24:54 +00:00
mve-gather-optimisation-deep.ll [ARM][MVE] Optimise offset addresses of gathers/scatters 2020-04-08 11:46:57 +01:00
mve-gather-ptrs.ll [ARM] MVE VMOV.i64 2020-03-30 07:44:23 +01:00
mve-gather-scatter-opt.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-gather-scatter-optimisation.ll [ARM][MVE] Fix location of optimized gather addresses 2020-04-16 18:15:28 +01:00
mve-halving.ll [ARM][MVE] Add patterns for VRHADD 2020-04-20 10:05:21 +01:00
mve-ldst-offset.ll [ARM] Fix MVE ldst offset ranges 2019-09-03 09:57:02 +00:00
mve-ldst-postinc.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01: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] MVE VMOV.i64 2020-03-30 07:44:23 +01:00
mve-masked-load.ll [ARM] Avoid pointless vrev of element-wise vmov 2020-04-03 17:36:50 +01:00
mve-masked-store.ll [ARM] Fixup FP16 bitcasts 2020-02-27 12:19:31 +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] MVE VLDn postinc 2020-01-20 06:57:07 +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] Fixup FP16 bitcasts 2020-02-27 12:19:31 +00:00
mve-postinc-distribute.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-postinc-distribute.mir [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-postinc-lsr.ll [DAGCombine] Skip PostInc combine with later users 2020-03-23 08:39:53 +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 [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +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 [Target][ARM] Fix VPT Block Pass miscompilation 2020-04-14 15:16:27 +01:00
mve-pred-or.ll Revert "[CodeGen][SelectionDAG] Flip Booleans More Often" 2020-04-07 09:09:10 +01: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-threshold.ll [Target][ARM] Improvements to the VPT Block Insertion Pass 2020-04-01 12:34:20 +01: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-satmul-loops.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-saturating-arith.ll [ARM] VQSUB instruction 2019-10-10 16:34:30 +00:00
mve-scatter-ind8-unscaled.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-scatter-ind16-scaled.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-scatter-ind16-unscaled.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-scatter-ind32-scaled.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-scatter-ind32-unscaled.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-scatter-ptrs.ll [ARM][MVE] Enable masked scatter 2020-01-21 09:46:26 +00:00
mve-sext.ll [ARM] MVE VMOV.i64 2020-03-30 07:44:23 +01:00
mve-shifts-scalar.ll [ARM] Favour post inc for MVE loops 2020-01-20 06:57:07 +00:00
mve-shifts.ll [ARM][MVE] Sink vector shift operand 2019-12-12 14:34:00 +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,MVE] Add the vmovlbq,vmovltq intrinsic family. 2020-02-18 09:34:50 +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 [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +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 [ARM] Use reduction intrinsics for larger than legal reductions 2020-01-24 17:07:24 +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 Revert "[CodeGen][SelectionDAG] Flip Booleans More Often" 2020-04-07 09:09:10 +01:00
mve-vcmpfr.ll Revert "[CodeGen][SelectionDAG] Flip Booleans More Often" 2020-04-07 09:09:10 +01:00
mve-vcmpfz.ll Revert "[CodeGen][SelectionDAG] Flip Booleans More Often" 2020-04-07 09:09:10 +01: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] Change VDUP type to i32 for MVE 2020-03-20 09:48:45 +00:00
mve-vecreduce-add.ll [ARM] MVE VMOV.i64 2020-03-30 07:44:23 +01:00
mve-vecreduce-fadd.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
mve-vecreduce-fminmax.ll [AsmPrinter] Print FP constant in hexadecimal form instead 2020-02-07 16:00:55 +00:00
mve-vecreduce-fmul.ll [ARM] MVE vector reduction fadd and fmul tests. NFC 2020-02-03 22:03:56 +00:00
mve-vecreduce-mla.ll [ARM] MVE VMULL patterns 2020-04-02 10:57:40 +01: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][MVE] Add VHADD and VHSUB patterns 2020-04-17 07:45:15 +01:00
mve-vld2-post.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-vld2.ll [ARM] MVE VLDn postinc 2020-01-20 06:57:07 +00:00
mve-vld3.ll [ARM] Make remaining MVE instruction predictable 2020-04-02 10:57:40 +01:00
mve-vld4-post.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-vld4.ll [ARM] Make remaining MVE instruction predictable 2020-04-02 10:57:40 +01:00
mve-vldst4.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-vmaxv.ll [ARM] Simplify and update vmla test. NFC 2019-09-15 11:53:05 +00:00
mve-vmla.ll [ARM] MVE VMLAS 2020-02-28 14:27:21 +00:00
mve-vmovimm.ll [ARM] Fix incorrect handling of big-endian vmov.i64 2020-04-03 17:36:50 +01:00
mve-vmovn.ll [ARM] Fix ReconstructShuffle for bigendian 2020-02-13 09:56:46 +00:00
mve-vmovnstore.ll [ARM] Don't split trunc stores that can be better handled as VMOVN 2020-03-24 08:48:52 +00:00
mve-vmull-loop.ll [ARM] MVE VMULL patterns 2020-04-02 10:57:40 +01:00
mve-vmull.ll [ARM] MVE VMULL patterns 2020-04-02 10:57:40 +01: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-2-blocks-1-pred.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-2-blocks-2-preds.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-2-blocks-ctrl-flow.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
mve-vpt-2-blocks-non-consecutive-ins.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-2-blocks.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-3-blocks-kill-vpr.mir [Target][ARM] Improvements to the VPT Block Insertion Pass 2020-04-01 12:34:20 +01:00
mve-vpt-block-1-ins.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-block-2-ins.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-block-4-ins.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-block-elses.mir [Target][ARM] Fix VPT Block Pass miscompilation 2020-04-14 15:16:27 +01:00
mve-vpt-block-fold-vcmp.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-block-optnone.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vpt-blocks.ll [Target][ARM] Adding MVE VPT Optimisation Pass 2020-04-14 15:16:27 +01:00
mve-vpt-from-intrinsics.ll [ARM] Reegenerate MVE tests. NFC 2020-01-15 08:10:38 +00:00
mve-vpt-nots.mir [Target][ARM] Improvements to the VPT Block Insertion Pass 2020-04-01 12:34:20 +01:00
mve-vpt-optimisations.mir [Target][ARM] Adding MVE VPT Optimisation Pass 2020-04-14 15:16:27 +01:00
mve-vpt-preuse.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mve-vqmovn.ll [ARM] MVE vqmovn tests. NFC. 2020-04-06 11:13:02 +01:00
mve-vst2-post.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-vst2.ll [ARM] MVE VLDn postinc 2020-01-20 06:57:07 +00:00
mve-vst3.ll [ARM] Make remaining MVE instruction predictable 2020-04-02 10:57:40 +01:00
mve-vst4-post.ll [ARM] Distribute MVE post-increments 2020-04-22 14:16:51 +01:00
mve-vst4.ll [ARM] MVE VLDn postinc 2020-01-20 06:57:07 +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 [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
peephole-cmp.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
pic-load.ll
postinc-distribute.mir [ARM] MVE and scalar postinc mir tests. NFC 2020-04-20 22:00:07 +01:00
segmented-stacks.ll [ARM] Use the correct opcodes for Thumb2 segmented stack frame lowering 2020-01-06 16:38:49 +00:00
setjmp_longjmp.ll
shift_parts.ll [ARM] Optimise ASRL/LSRL to smaller shifts using demand bits. 2020-03-13 10:09:03 +00:00
stack_guard_remat.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
t2-teq-reduce.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
t2peephole-t2ADDrr-to-t2ADDri.ll [ARM][Thumb2] Fix ADD/SUB invalid writes to SP 2020-01-14 11:47:19 +00:00
t2sizereduction.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +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-execute-only-prologue.ll [ARM] unwinding .pad instructions missing in execute-only prologue 2020-04-07 11:51:59 +01:00
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 Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
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 [DAGCombine] Combine pattern for REV16 2020-02-17 14:54:17 +00:00
thumb2-ror.ll [TargetLowering] Only demand a rotation's modulo amount bits 2020-03-17 21:23:46 +00:00
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
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