llvm-project/llvm/test/CodeGen/Thumb2/LowOverheadLoops
Sam Parker b30adfb529 [ARM][LowOverheadLoops] Liveouts and reductions
Remove the code that tried to look for reduction patterns, since the
vectorizer and isel can now produce predicated arithmetic instructios
within the loop body. This has required some reorganisation and fixes
around live-out and predication checks, as well as looking for cases
where an input/output is initialised to zero.

Differential Revision: https://reviews.llvm.org/D86613
2020-08-28 13:56:16 +01:00
..
add_reduce.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
basic-tail-pred.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
branch-targets.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
clear-maskedinsts.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
cmplx_cong.mir [RDA] Track implicit-defs 2020-02-28 11:14:42 +00:00
cond-mov.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
cond-vector-reduce-mve-codegen.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
ctlz-non-zeros.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
disjoint-vcmp.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
dont-ignore-vctp.mir [RDA] Track implicit-defs 2020-02-28 11:14:42 +00:00
dont-remove-loop-update.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
end-positive-offset.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
exitcount.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
extending-loads.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
extract-element.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
fast-fp-loops.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
incorrect-sub-8.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
incorrect-sub-16.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
incorrect-sub-32.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
inloop-vpnot-1.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
inloop-vpnot-2.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
inloop-vpnot-3.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
inloop-vpsel-1.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
inloop-vpsel-2.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
invariant-qreg.mir [ARM][MVE] Validate tail predication values 2020-03-10 09:59:01 +00:00
it-block-chain.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
it-block-itercount.mir [RDA][ARM] collectKilledOperands across multiple blocks 2020-03-03 15:23:05 +00:00
it-block-mov.mir [RDA][ARM] collectKilledOperands across multiple blocks 2020-03-03 15:23:05 +00:00
it-block-random.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
iv-two-vcmp-reordered.mir [NFC][ARM] Add more tail predication tests 2020-05-19 14:01:10 +01:00
iv-two-vcmp.mir [NFC][ARM] Add more tail predication tests 2020-05-19 14:01:10 +01:00
iv-vcmp.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
livereg-no-loop-def.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
loop-dec-copy-chain.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
loop-dec-copy-prev-iteration.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
loop-dec-liveout.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
loop-guards.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
lsr-profitable-chain.ll [ARM][MVE] Refactor option -disable-mve-tail-predication 2020-07-13 13:40:33 +01:00
massive.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
matrix-debug.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
matrix.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
mov-after-dls.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
mov-after-dlstp.mir [ARM] Use mov operand if the mov cannot be moved while tail predicating 2020-08-18 17:10:29 +01:00
mov-lr-terminator.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
mov-operand.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
move-def-before-start.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
move-start-after-def.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
multi-block-cond-iter-count.mir [NFC][ARM] Add tests 2020-02-28 11:24:02 +00:00
multi-cond-iter-count.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
multiblock-massive.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
multiple-do-loops.mir [RDA][ARM] collectKilledOperands across multiple blocks 2020-03-03 15:23:05 +00:00
mve-float-loops.ll Revert "[BPI] Improve static heuristics for integer comparisons" 2020-08-17 20:44:33 +02:00
mve-tail-data-types.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
nested.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
no-dec-cbnz.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
no-dec-le-simple.ll
no-dec-reorder.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
no-dec.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
no-vpsel-liveout.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
non-masked-load.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
non-masked-store.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
out-of-range-cbz.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
predicated-invariant.mir [ARM][MVE] Validate tail predication values 2020-03-10 09:59:01 +00:00
predicated-liveout.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
reductions-vpt-liveout.mir [NFC][ARM] Add tail predication test 2020-08-28 13:46:10 +01:00
reductions.ll [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
remove-elem-moves.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
revert-after-call.mir
revert-after-read.mir
revert-after-write.mir
revert-non-header.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
revert-non-loop.mir
revert-while.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
safe-def-no-mov.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
safe-retaining.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
sibling-loops.ll [ARM][HWLoops] Create hardware loops for sibling loops 2020-07-03 17:20:02 +01:00
size-limit.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
skip-debug.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
switch.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
tail-pred-const.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
tail-pred-intrinsic-add-sat.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
tail-pred-intrinsic-fabs.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
tail-pred-intrinsic-round.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
tail-pred-intrinsic-sub-sat.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
tail-pred-narrow.ll [ARM][MVE] Refactor option -disable-mve-tail-predication 2020-07-13 13:40:33 +01:00
tail-pred-pattern-fail.ll [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
tail-pred-widen.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
tail-reduce.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
unpredicated-max.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
unpredload.ll [ARM] Allow tail predication of VLDn 2020-08-18 17:15:45 +01:00
unrolled-and-vector.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
unsafe-cpsr-loop-def.mir Revert "[ARM] Add CPSR as an implicit use of t2IT" 2020-02-27 15:43:44 +00:00
unsafe-cpsr-loop-use.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
unsafe-liveout.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
unsafe-retaining.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
unsafe-use-after.mir [ARM] Fix MIR tests with invalid live-ins. 2020-04-21 12:13:35 -07:00
vaddv.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
varying-outer-2d-reduction.ll [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
vctp-add-operand-liveout.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
vctp-in-vpt-2.mir [Target][ARM] Make Low Overhead Loops coexist with VPT blocks. 2020-05-20 12:24:55 +01:00
vctp-in-vpt.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
vctp-subi3.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
vctp-subri.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
vctp-subri12.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
vctp16-reduce.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
vector-arith-codegen.ll [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
vector-reduce-mve-tail.ll [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks 2020-08-25 14:38:03 +01:00
vector-unroll.ll [ARM][MVE] Refactor option -disable-mve-tail-predication 2020-07-13 13:40:33 +01:00
vmaxmin_vpred_r.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
vmldava_in_vpt.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
vpt-blocks.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
while-negative-offset.mir
while.mir [MIR][ARM] MachineOperand comments 2020-02-24 14:19:21 +00:00
wlstp.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
wrong-liveout-lsr-shift.mir [ARM] Make MachineVerifier more strict about terminators 2020-08-27 07:10:20 +01:00
wrong-vctp-opcode-liveout.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00
wrong-vctp-operand-liveout.mir [ARM][LowOverheadLoops] Liveouts and reductions 2020-08-28 13:56:16 +01:00