llvm-project/llvm/test/Transforms/LoopUnroll
Anna Thomas 2dfa412efe [UnrollRuntime] Fix domTree failures in multiexit unrolling
Summary:
This fixes the IDom for exit blocks and all blocks reachable from the exit blocks, when runtime unrolling under multiexit/exiting case.
We initially had a restrictive check that the IDom is only updated when
it is the header of the loop.
However, we also need to update the IDom to the correct one when the
IDom is any block within the original loop. See added test cases (which
fail dom tree verification without the patch).

Reviewers: reames, mzolotukhin, mkazantsev, hfinkel

Reviewed by: brzycki, kuhar

Subscribers: zzheng, dmgreen, llvm-commits

Differential Revision: https://reviews.llvm.org/D56284

llvm-svn: 350640
2019-01-08 17:16:25 +00:00
..
AArch64
AMDGPU AMDGPU: Fix tests using old number for constant address space 2018-09-10 02:54:25 +00:00
ARM [ARM] Use Cortex-A57 sched model for Cortex-A72 2018-10-25 15:08:29 +00:00
Hexagon peel loops with runtime small trip counts 2018-04-03 03:39:43 +00:00
PowerPC
X86 [X86] Make Feature64Bit useful 2018-08-30 06:01:05 +00: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
2011-08-09-IVSimplify.ll
2011-08-09-PhiUpdate.ll
2011-10-01-NoopTrunc.ll
2012-04-09-unroll-indirectbr.ll
basic.ll
complete_unroll_profitability_with_assume.ll [LoopUnroll] Peel off iterations if it makes conditions true/false. 2018-03-15 21:34:43 +00:00
convergent.ll LoopUnroll: respect pragma unroll when AllowRemainder is disabled 2018-03-02 16:22:32 +00:00
debug-info.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
disable-loop-unrolling_forced.ll [LoopUnroll] Honor '#pragma unroll' even with -fno-unroll-loops. 2018-12-18 17:16:05 +00:00
disable_nonforced.ll [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
disable_nonforced_count.ll [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
disable_nonforced_enable.ll [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
disable_nonforced_full.ll [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
ephemeral.ll
epilog_const_phi.ll
followup.ll [Unroll/UnrollAndJam/Vectorizer/Distribute] Add followup loop attributes. 2018-12-12 17:32:52 +00:00
full-unroll-bad-cost.ll
full-unroll-crashers.ll
full-unroll-heuristics-2.ll
full-unroll-heuristics-cmp.ll
full-unroll-heuristics-dce.ll
full-unroll-heuristics-geps.ll
full-unroll-heuristics-phi-prop.ll
full-unroll-heuristics.ll
full-unroll-keep-first-exit.ll
high-cost-trip-count-computation.ll
ignore-annotation-intrinsic-cost.ll
invalidate_right_loop.ll [LoopUnroll] Fix dangling pointers in SCEV 2018-03-26 11:31:46 +00:00
loop-remarks-with-hotness.ll
loop-remarks.ll
not-rotated.ll
partial-unroll-const-bounds.ll
peel-loop-conditions.ll Remove LoopID metadata from the branch instruction 2018-09-26 01:03:21 +00:00
peel-loop-irreducible.ll
peel-loop-negative.ll
peel-loop-not-forced.ll [LoopUnroll] Make LoopPeeling respect the AllowPeeling preference. 2018-04-06 13:57:21 +00:00
peel-loop-pgo.ll
peel-loop.ll [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
peel-loop2.ll
pr10813.ll
pr11361.ll
pr14167.ll
pr18861.ll
pr27157.ll
pr28132.ll
pr31718.ll
pr33437.ll
rebuild_lcssa.ll
revisit.ll
runtime-epilog-debuginfo.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
runtime-li.ll
runtime-loop-multiexit-dom-verify.ll [UnrollRuntime] Fix domTree failures in multiexit unrolling 2019-01-08 17:16:25 +00:00
runtime-loop-multiple-exits.ll [UnrollRuntime] NFC: Updated exiting tests and added more tests 2018-12-28 19:21:50 +00:00
runtime-loop-non-exiting-latch.ll [LoopUnroll] Add check to Latch's terminator in UnrollRuntimeLoopRemainder 2018-09-25 10:08:47 +00:00
runtime-loop.ll [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
runtime-loop1.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
runtime-loop2.ll
runtime-loop3.ll
runtime-loop4.ll
runtime-loop5.ll
runtime-multiexit-heuristic.ll
runtime-unroll-remainder.ll
scevunroll.ll
shifted-tripcount.ll
tripcount-overflow.ll
unloop.ll
unroll-cleanup.ll
unroll-cleanuppad.ll
unroll-count.ll
unroll-heuristics-pgo.ll
unroll-loop-invalidation.ll
unroll-maxcount.ll
unroll-opt-attribute.ll
unroll-pragmas-disabled.ll
unroll-pragmas.ll LoopUnroll: respect pragma unroll when AllowRemainder is disabled 2018-03-02 16:22:32 +00:00
update-loop-info-in-subloops.ll