llvm-6502/test/Transforms/LoopUnroll
Hal Finkel a14d6f1ea5 [LoopUnroll] Fix the partial unrolling threshold for small loop sizes
When we compute the size of a loop, we include the branch on the backedge and
the comparison feeding the conditional branch. Under normal circumstances,
these don't get replicated with the rest of the loop body when we unroll. This
led to the somewhat surprising behavior that really small loops would not get
unrolled enough -- they could be unrolled more and the resulting loop would be
below the threshold, because we were assuming they'd take
(LoopSize * UnrollingFactor) instructions after unrolling, instead of
(((LoopSize-2) * UnrollingFactor)+2) instructions. This fixes that computation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225565 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-10 00:30:55 +00:00
..
PowerPC [PowerPC] Enable late partial unrolling on the POWER7 2015-01-09 15:51:16 +00:00
X86
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
ephemeral.ll
ignore-annotation-intrinsic-cost.ll
loop-remarks.ll
nsw-tripcount.ll [SCEV] Improve Scalar Evolution's use of no {un,}signed wrap flags 2014-10-31 11:40:32 +00:00
partial-unroll-optsize.ll [LoopUnroll] Fix the partial unrolling threshold for small loop sizes 2015-01-10 00:30:55 +00:00
pr10813.ll
pr11361.ll
pr14167.ll
pr18861.ll
runtime-loop1.ll Fix a trip-count overflow issue in LoopUnroll. 2014-11-20 20:19:55 +00:00
runtime-loop2.ll [LoopUnroll] Fix the partial unrolling threshold for small loop sizes 2015-01-10 00:30:55 +00:00
runtime-loop3.ll
runtime-loop.ll IR: Add 'distinct' MDNodes to bitcode and assembly 2015-01-08 22:38:29 +00:00
scevunroll.ll This patch de-pessimizes the calculation of loop trip counts in 2014-10-10 17:39:11 +00:00
shifted-tripcount.ll
tripcount-overflow.ll Fix a trip-count overflow issue in LoopUnroll. 2014-11-20 20:19:55 +00:00
unloop.ll
unroll-pragmas-disabled.ll IR: Add 'distinct' MDNodes to bitcode and assembly 2015-01-08 22:38:29 +00:00
unroll-pragmas.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
update-loop-info-in-subloops.ll LoopUnroll: Create sub-loops in LoopInfo 2014-10-07 21:19:00 +00:00