mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
cae9ddd062
Consider this type of a loop: for (...) { ... if (...) continue; ... } Normally, the "continue" would branch to the loop control code that checks whether the loop should continue iterating and which contains the (often) unique loop latch branch. In certain cases jump threading can "thread" the inner branch directly to the loop header, creating a second loop latch. Loop canonicalization would then transform this loop into a loop nest. The problem with this is that in such a loop nest neither loop is countable even if the original loop was. This may inhibit subsequent loop optimizations and be detrimental to performance. Differential Revision: https://reviews.llvm.org/D36404 llvm-svn: 312664 |
||
---|---|---|
.. | ||
2008-11-27-EntryMunge.ll | ||
2010-08-26-and.ll | ||
2011-04-02-SimplifyDeadBlock.ll | ||
2011-04-14-InfLoop.ll | ||
2012-07-19-NoSuccessorIndirectBr.ll | ||
and-and-cond.ll | ||
and-cond.ll | ||
assume-edge-dom.ll | ||
assume.ll | ||
basic.ll | ||
branch-no-const.ll | ||
compare.ll | ||
conservative-lvi.ll | ||
crash.ll | ||
degenerate-phi.ll | ||
fold-not-thread.ll | ||
guards.ll | ||
implied-cond.ll | ||
indirectbr.ll | ||
induction.ll | ||
landing-pad.ll | ||
lvi-load.ll | ||
no-irreducible-loops.ll | ||
or-undef.ll | ||
phi-eq.ll | ||
phi-known.ll | ||
pr9331.ll | ||
pr15851_hang.ll | ||
pr22086.ll | ||
pr26096.ll | ||
pr27840.ll | ||
pr33605.ll | ||
pr33917.ll | ||
range-compare.ll | ||
select.ll | ||
static-profile.ll | ||
thread-cmp.ll | ||
thread-loads.ll | ||
threading_prof1.ll | ||
threading_prof2.ll | ||
update-edge-weight.ll |