llvm/test/Transforms/LoopUnroll
Sam Parker 040fcc3883 [LoopUnroll][DebugInfo] Don't add metadata to unrolled remainder loop
Debug information can be, and was, corrupted when the runtime
remainder loop was fully unrolled. This is because a !null node can
be created instead of a unique one describing the loop. In this case,
the original node gets incorrectly updated with the NewLoopID
metadata.

In the case when the remainder loop is going to be quickly fully
unrolled, there isn't the need to add loop metadata for it anyway.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312471 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-04 08:12:16 +00:00
..
AArch64 [AArch64][Falkor] Try to avoid exhausting HW prefetcher resources when unrolling. 2017-06-28 18:53:09 +00:00
AMDGPU AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel 2017-03-21 21:39:51 +00:00
ARM [ARM] Improve loop unrolling for Cortex-M 2017-08-16 07:42:44 +00:00
PowerPC [LoopUnroll] Fix a PowerPC test broken by r277524. 2016-08-02 21:43:25 +00:00
X86 Changed basic cost of store operation on X86 2017-08-20 12:34:29 +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 [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
convergent.ll [LoopUnroll] Respect the convergent attribute. 2016-03-14 23:15:34 +00:00
ephemeral.ll
epilog_const_phi.ll Add test missed in r296770. 2017-03-04 05:20:02 +00:00
full-unroll-bad-cost.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-crashers.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics-2.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics-cmp.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics-dce.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics-geps.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics-phi-prop.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
full-unroll-heuristics.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
full-unroll-keep-first-exit.ll [PM] Simplify the new PM interface to the loop unroller and expose two 2017-01-26 02:13:50 +00:00
high-cost-trip-count-computation.ll Adds the ability to use an epilog remainder loop during loop unrolling and makes 2016-04-05 12:19:35 +00:00
ignore-annotation-intrinsic-cost.ll
loop-remarks-with-hotness.ll [LoopUnroll] Include hotness of region in opt remark 2016-07-29 19:29:47 +00:00
loop-remarks.ll
not-rotated.ll [LoopUnroll] Fix a test. REQUIRE should be REQUIRES. 2017-05-12 15:30:58 +00:00
partial-unroll-const-bounds.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
peel-loop2.ll [LoopUnroll] Remap references in peeled iteration 2017-03-26 16:46:53 +00:00
peel-loop-irreducible.ll [LoopUnroll] Don't peel loops where the latch isn't the exiting block 2017-03-16 21:07:48 +00:00
peel-loop-negative.ll [LoopPeeling] Fix condition for phi-eliminating peeling 2017-04-17 05:38:28 +00:00
peel-loop-not-forced.ll [LoopPeeling] Get rid of Phis that become invariant after N steps 2017-04-17 09:52:02 +00:00
peel-loop-pgo.ll Use profile summary to disable peeling for huge working sets 2017-08-03 23:42:58 +00:00
peel-loop.ll [SimplifyCFG] Defer folding unconditional branches to LateSimplifyCFG if it can destroy canonical loop structure. 2017-07-19 08:53:34 +00:00
pr10813.ll
pr11361.ll
pr14167.ll
pr18861.ll
pr27157.ll [LoopUnroll] Fix the way we update DT after complete unrolling. 2016-04-06 21:47:12 +00:00
pr28132.ll [LoopUnroll] Don't crash trying to unroll loop with EH pad exit 2016-06-15 00:19:56 +00:00
pr31718.ll [LoopUnroll] First form LCSSA, then loop-simplify 2017-01-23 23:45:42 +00:00
pr33437.ll [LoopUnroll] Make the test for PR33437 actually useful. 2017-08-29 17:24:09 +00:00
rebuild_lcssa.ll [LoopSimplify] When simplifying phis in loop-simplify, do it only if it preserves LCSSA form. 2016-09-27 21:03:45 +00:00
revisit.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-li.ll [LoopUnroll] Properly update loopinfo for runtime unrolling by 2 2017-01-26 01:04:11 +00:00
runtime-loop1.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-loop2.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-loop3.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-loop4.ll [LoopUnroll] Switch the default value of -unroll-runtime-epilog back to its original value. 2016-08-02 21:24:14 +00:00
runtime-loop5.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-loop-multiexit-dom-verify.ll [RuntimeUnrolling] Update DomTree correctly when exit blocks have successors 2017-07-13 13:21:23 +00:00
runtime-loop-multiple-exits.ll [LoopUnrollRuntime] Avoid multi-exit nested loop with epilog generation 2017-07-11 17:16:33 +00:00
runtime-loop.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
runtime-unroll-remainder.ll [LoopUnroll][DebugInfo] Don't add metadata to unrolled remainder loop 2017-09-04 08:12:16 +00:00
scevunroll.ll
shifted-tripcount.ll
tripcount-overflow.ll [LoopUnroll] Switch the default value of -unroll-runtime-epilog back to its original value. 2016-08-02 21:24:14 +00:00
unloop.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00
unroll-cleanup.ll [LoopUnroll] Switch the default value of -unroll-runtime-epilog back to its original value. 2016-08-02 21:24:14 +00:00
unroll-cleanuppad.ll [LoopUnroll] Unroll loops which have exit blocks to EH pads 2016-05-03 03:57:40 +00:00
unroll-count.ll The patch set unroll disable pragma when unroll 2016-06-08 20:21:24 +00:00
unroll-heuristics-pgo.ll The patch turns on epilogue unroll for loops with constant recurency start. 2017-03-02 17:38:46 +00:00
unroll-loop-invalidation.ll [PM] Relax the spelling of a pass name slightly in this test. 2017-08-08 02:27:49 +00:00
unroll-maxcount.ll [LoopUnroll] Fix bug in computeUnrollCount causing it to not honor MaxCount 2017-06-28 17:01:15 +00:00
unroll-opt-attribute.ll Loop unroller: set thresholds for optsize and minsize functions to zero 2016-05-10 21:45:55 +00:00
unroll-pragmas-disabled.ll
unroll-pragmas.ll The patch turns on epilogue unroll for loops with constant recurency start. 2017-03-02 17:38:46 +00:00
update-loop-info-in-subloops.ll [PM] Split LoopUnrollPass and make partial unroller a function pass 2017-08-02 20:35:29 +00:00