summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/CodeGeneration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/CodeGen/CodeGeneration.cpp')
-rw-r--r--polly/lib/CodeGen/CodeGeneration.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp
index 06f0fa7854f..753942fea21 100644
--- a/polly/lib/CodeGen/CodeGeneration.cpp
+++ b/polly/lib/CodeGen/CodeGeneration.cpp
@@ -924,6 +924,13 @@ void ClastStmtCodeGen::codegen(const clast_guard *g) {
Builder.CreateBr(MergeBB);
Builder.SetInsertPoint(ThenBB->begin());
+ LoopInfo &LI = P->getAnalysis<LoopInfo>();
+ Loop *L = LI.getLoopFor(CondBB);
+ if (L) {
+ L->addBasicBlockToLoop(ThenBB, LI.getBase());
+ L->addBasicBlockToLoop(MergeBB, LI.getBase());
+ }
+
codegen(g->then);
Builder.SetInsertPoint(MergeBB->begin());
@@ -1030,8 +1037,6 @@ public:
AU.addPreserved<CloogInfo>();
AU.addPreserved<Dependences>();
-
- // FIXME: We do not create LoopInfo for the newly generated loops.
AU.addPreserved<LoopInfo>();
AU.addPreserved<DominatorTree>();
AU.addPreserved<ScopDetection>();
OpenPOWER on IntegriCloud