llvm-project/llvm/test/Transforms/LoopUnroll
Nemanja Ivanovic a3ea9052d6 [PowerPC] Do not increase cost for getUserCost with MMA types
Commit 150681f increases
cost of producing MMA types (vector pair and quad).
However, it increases the cost for getUserCost() which is
used in unrolling. As a result, loops that contain these
types already (from the user code) cannot be unrolled
(even with the user's unroll pragma). This was an unintended
sideeffect. Reverting that portion of the commit to allow
unrolling such loops.

Differential revision: https://reviews.llvm.org/D115424
2021-12-21 13:36:08 -06:00
..
AArch64 [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
AMDGPU [AMDGPU][CostModel] Refine cost model for control-flow instructions. 2021-04-10 09:20:24 +03:00
ARM [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
Hexagon
PowerPC [PowerPC] Do not increase cost for getUserCost with MMA types 2021-12-21 13:36:08 -06:00
RISCV [RISCV] Add target specific loop unrolling and peeling preferences 2021-12-18 12:54:50 -08:00
WebAssembly [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
X86 [BasicTTIImpl][LoopUnroll] getUnrollingPreferences(): emit ORE remark when advising against unrolling due to a call in a loop 2021-08-03 00:57:26 +03:00
2004-05-13-DontUnrollTooMuch.ll
2005-03-06-BadLoopInfoUpdate.ll
2006-08-24-MultiBlockLoop.ll
2007-04-16-PhiUpdate.ll
2007-05-05-UnrollMiscomp.ll
2007-05-09-UnknownTripCount.ll
2007-11-05-Crash.ll
2011-08-08-PhiUpdate.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
2011-08-09-IVSimplify.ll
2011-08-09-PhiUpdate.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
2011-10-01-NoopTrunc.ll
2012-04-09-unroll-indirectbr.ll [NFCI][SimplifyCFG] Mark all the SimplifyCFG tests that already don't invalidate DomTree as such 2020-12-17 01:03:49 +03:00
FullUnroll.ll [test] Fix FullUnroll.ll 2020-09-17 15:56:13 -07:00
assume-timeout.ll [ValueTracking] add scan limit for assumes 2021-02-15 15:24:20 -05:00
basic.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
callbr.ll
complete_unroll_profitability_with_assume.ll
convergent.ll
dce.ll Do actual DCE in LoopUnroll (try 4) 2021-05-19 10:25:31 -07:00
debug-info.ll
disable-full-unroll-by-opt.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
disable-loop-unrolling_forced.ll
disable_nonforced.ll
disable_nonforced_count.ll
disable_nonforced_enable.ll
disable_nonforced_full.ll
ephemeral.ll
epilog_const_phi.ll
followup.ll
full-unroll-bad-cost.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-crashers.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics-2.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics-cmp.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics-dce.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics-geps.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics-phi-prop.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-heuristics.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
full-unroll-invariant.ll Do actual DCE in LoopUnroll (try 4) 2021-05-19 10:25:31 -07:00
full-unroll-keep-first-exit.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
full-unroll-one-unpredictable-exit.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
high-cost-trip-count-computation.ll
ignore-annotation-intrinsic-cost.ll
invalidate_right_loop.ll
loop-remarks-with-hotness.ll [LoopUnroll] Simplify optimization remarks 2021-06-18 23:47:03 +02:00
loop-remarks.ll
multiple-exits.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
noalias.ll [LoopUnroll] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed 2021-01-24 13:48:20 +01:00
nonlatchcondbr.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
not-rotated.ll
opt-levels.ll [NewPM] Run non-trivial loop unswitching under -O2/3/s/z 2021-01-12 11:04:40 -08:00
optsize-loop-size.ll Do actual DCE in LoopUnroll (try 4) 2021-05-19 10:25:31 -07:00
partial-unroll-const-bounds.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
partial-unroll-dead-instructions.ll
partial-unroll-non-latch-exit.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
partially-unroll-unconditional-latch.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
peel-loop-and-unroll.ll [LoopUnroll] Separate peeling from unrolling 2021-06-05 10:32:00 +02:00
peel-loop-conditions-pgo-1.ll
peel-loop-conditions-pgo-2.ll
peel-loop-conditions.ll Loop peeling: check that latch is conditional branch 2021-01-20 11:01:16 -05:00
peel-loop-inner.ll [SimplifyCFG] performBranchToCommonDestFolding(): require block-closed SSA form for bonus instructions (PR51125) 2021-09-09 12:28:09 +03:00
peel-loop-irreducible.ll
peel-loop-negative.ll
peel-loop-nests.ll
peel-loop-noalias-scope-decl.ll [LoopPeel] Use llvm.experimental.noalias.scope.decl for duplicating noalias metadata as needed. 2021-02-01 10:01:17 +01:00
peel-loop-not-forced.ll
peel-loop-pgo-deopt-idom-2.ll [LoopPeel] Allow peeling with multiple unreachable-terminated exit blocks. 2021-08-25 13:26:40 +01:00
peel-loop-pgo-deopt-idom.ll [LoopPeel] Allow peeling with multiple unreachable-terminated exit blocks. 2021-08-25 13:26:40 +01:00
peel-loop-pgo-deopt.ll [LoopPeel] Allow peeling with multiple unreachable-terminated exit blocks. 2021-08-25 13:26:40 +01:00
peel-loop-pgo.ll Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
peel-loop-scev-invalidate.ll
peel-loop.ll [NewPM] Consistently use 'simplifycfg' rather than 'simplify-cfg' 2021-07-09 09:47:03 +02:00
peel-loop2.ll
peel-multiple-unreachable-exits.ll [LoopPeel] Peel loops with exits followed by an unreachable or deopt block 2021-11-02 23:12:04 +07:00
peel-to-turn-invariant-accesses-dereferenceable.ll [LoopPeel] Peel if it turns invariant loads dereferenceable. 2021-10-12 11:42:28 +01:00
pr10813.ll
pr11361.ll
pr14167.ll Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
pr18861.ll
pr27157.ll
pr28132.ll
pr31718.ll [LoopUnroll] Make some tests more robust (NFC) 2021-04-17 20:59:20 +02:00
pr33437.ll [LoopUnroll] Separate peeling from unrolling 2021-06-05 10:32:00 +02:00
pr45939-peel-count-and-complete-unroll.ll [LoopUnroll] Separate peeling from unrolling 2021-06-05 10:32:00 +02:00
rebuild_lcssa.ll [LoopUnroll] Regenerate test checks (NFC) 2021-05-24 17:26:07 +02:00
revert-D110922.ll [Test] Add commit justifying revert of D110922 2021-10-09 14:32:46 +07:00
revisit.ll [runtime] Move prolog/epilog block to a post-simplify strategy 2021-08-31 09:29:36 -07:00
runtime-epilog-debuginfo.ll Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
runtime-li.ll [LoopUnroll] Make some tests more robust (NFC) 2021-04-17 20:59:20 +02:00
runtime-loop-at-most-two-exits.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
runtime-loop-branchweight.ll Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
runtime-loop-known-exit.ll [LoopUnroll] Use smallest exact trip count from any exit 2021-06-20 20:58:26 +02:00
runtime-loop-multiexit-dom-verify.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
runtime-loop-multiple-exits.ll [SCEVExpander] Drop poison generating flags when reusing instructions 2021-11-29 15:23:34 -08:00
runtime-loop-non-exiting-latch.ll
runtime-loop.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
runtime-loop1.ll [runtime] Move prolog/epilog block to a post-simplify strategy 2021-08-31 09:29:36 -07:00
runtime-loop2.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
runtime-loop3.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
runtime-loop4.ll
runtime-loop5.ll [SCEV] Canonicalize X - urem X, Y patterns 2021-11-16 11:59:21 -08:00
runtime-multiexit-heuristic.ll Compute estimated trip counts for multiple exit loops 2021-12-09 09:53:49 -08:00
runtime-small-upperbound.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
runtime-unroll-assume-no-remainder.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
runtime-unroll-remainder.ll [runtime-unroll] Use incrementing IVs instead of decrementing ones 2021-11-12 15:44:58 -08:00
scevunroll.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
shifted-tripcount.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
tripcount-overflow.ll
unloop.ll [LoopUnroll] Use smallest exact trip count from any exit 2021-06-20 20:58:26 +02:00
unroll-after-peel.ll [LoopUnroll] Fix a crash 2021-01-11 10:19:26 +07:00
unroll-cleanup.ll
unroll-cleanuppad.ll
unroll-cost-symbolic-execute.ll [unroll] Use value domain for symbolic execution based cost model 2021-05-26 08:41:25 -07:00
unroll-count.ll
unroll-header-exiting-with-phis-multiple-exiting-blocks.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
unroll-header-exiting-with-phis.ll Do actual DCE in LoopUnroll (try 4) 2021-05-19 10:25:31 -07:00
unroll-heuristics-pgo.ll
unroll-loop-invalidation.ll [NewPM] Hide pass manager debug logging behind -debug-pass-manager-verbose 2021-05-07 21:51:47 -07:00
unroll-maxcount.ll
unroll-opt-attribute.ll [PGO][PGSO] Let unroll hints take precedence over PGSO. 2021-01-07 10:10:31 -08:00
unroll-pragmas-disabled.ll
unroll-pragmas.ll
unroll-preserve-scev-lcssa.ll
unroll-unconditional-latch.ll [unroll] Keep unrolled iterations with initial iteration 2021-11-12 11:40:50 -08:00
update-loop-info-in-subloops.ll [NewPM][LoopUnroll] Rename unroll* to loop-unroll* 2020-06-26 09:28:32 -07:00
wrong_assert_in_peeling.ll [LoopUnroll] Separate peeling from unrolling 2021-06-05 10:32:00 +02:00