[LoopUnrolling] Try harder to avoid rebuilding LCSSA when possible.
authorMichael Zolotukhin <mzolotukhin@apple.com>
Fri, 5 Feb 2016 02:17:36 +0000 (02:17 +0000)
committerMichael Zolotukhin <mzolotukhin@apple.com>
Fri, 5 Feb 2016 02:17:36 +0000 (02:17 +0000)
commit73957179d35fa1974c4cab69f373d8c50148dba6
tree7afd5782d4d1cf8df6a2ea7064fa1eb7e7c72166
parent408b5e660300f96d9a231ba0e18e75d8e69d17bb
[LoopUnrolling] Try harder to avoid rebuilding LCSSA when possible.

In r255133 (reapplied r253126) we started to avoid redundant
recomputation of LCSSA after loop-unrolling. This patch moves one step
further in this direction - now we can avoid it for much wider range of
loops, as we start to look at IR and try to figure out if the
transformation actually breaks LCSSA phis or makes it necessary to
insert new ones.

Differential Revision: http://reviews.llvm.org/D16838

llvm-svn: 259869
llvm/lib/Transforms/Utils/LoopUnroll.cpp