mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
af7baa2a66
In case of loops with multiple exit where all-but-one exit are deoptimizing it might happen that the first rotation will end up with latch having a deoptimizing exit. This makes the loop unsuitable for trip-count analysis (say, getLoopEstimatedTripCount) as well as for loop transformations that know how to handle multple deoptimizing exits. It pretty much means that canonical form in multple-deoptimizing-exits case should be with non-deoptimizing exit at latch. Teach loop-rotation to reach this canonical form by repeating rotation. -loop-rotate-multi option introduced to control this behavior, currently disabled by default. Reviewers: skatkov, asbirlea, reames, fhahn Reviewed By: skatkov Tags: #llvm Differential Revision: https://reviews.llvm.org/D73058 |
||
---|---|---|
.. | ||
2009-01-25-SingleEntryPhi.ll | ||
alloca.ll | ||
basic.ll | ||
callbr.ll | ||
catchret.ll | ||
convergent.ll | ||
crash.ll | ||
dbg-value-duplicates-2.ll | ||
dbg-value-duplicates.ll | ||
dbgvalue.ll | ||
indirectbr.ll | ||
loopexitinglatch.ll | ||
multiple-deopt-exits.ll | ||
multiple-exits.ll | ||
nosimplifylatch.ll | ||
oz-disable.ll | ||
phi-dbgvalue.ll | ||
phi-duplicate.ll | ||
PhiRename-1.ll | ||
PhiSelfReference-1.ll | ||
pr2639.ll | ||
pr22337.ll | ||
pr33701.ll | ||
pr35210.ll | ||
pr37205.ll | ||
preserve-loop-simplify.ll | ||
preserve-mssa.ll | ||
preserve-scev.ll | ||
simplifylatch.ll | ||
switch.ll | ||
vect.omp.persistence.ll |