diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnroll.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LoopUnroll.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Transforms/Utils/LoopUnroll.cpp b/llvm/lib/Transforms/Utils/LoopUnroll.cpp index 3c43fbbe828..d2dfc20e4d8 100644 --- a/llvm/lib/Transforms/Utils/LoopUnroll.cpp +++ b/llvm/lib/Transforms/Utils/LoopUnroll.cpp @@ -468,9 +468,11 @@ bool llvm::UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, if (PP && DT) { if (!OuterL && !CompletelyUnroll) OuterL = L; - if (OuterL) - simplifyLoop(OuterL, DT, LI, PP, /*AliasAnalysis*/ 0, - PP->getAnalysisIfAvailable<ScalarEvolution>()); + if (OuterL) { + ScalarEvolution *SE = PP->getAnalysisIfAvailable<ScalarEvolution>(); + simplifyLoop(OuterL, DT, LI, PP, /*AliasAnalysis*/ 0, SE); + formLCSSARecursively(*OuterL, *DT, SE); + } } return true; |