diff options
Diffstat (limited to 'polly/lib/CodeGen/CodeGeneration.cpp')
-rw-r--r-- | polly/lib/CodeGen/CodeGeneration.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp index b434144a686..ce1098fa444 100644 --- a/polly/lib/CodeGen/CodeGeneration.cpp +++ b/polly/lib/CodeGen/CodeGeneration.cpp @@ -191,12 +191,7 @@ public: } else { NodeBuilder.addParameters(S.getContext()); - SplitBlock = Builder.GetInsertBlock(); - Builder.SetInsertPoint(&StartBlock->front()); - NodeBuilder.create(AstRoot); - - Builder.SetInsertPoint(SplitBlock->getTerminator()); ExprBuilder.setTrackOverflow(true); Value *RTC = buildRTC(Builder, ExprBuilder); Value *OverflowHappened = Builder.CreateNot( @@ -204,7 +199,10 @@ public: RTC = Builder.CreateAnd(RTC, OverflowHappened, "polly.rtc.result"); ExprBuilder.setTrackOverflow(false); - SplitBlock->getTerminator()->setOperand(0, RTC); + Builder.GetInsertBlock()->getTerminator()->setOperand(0, RTC); + Builder.SetInsertPoint(&StartBlock->front()); + + NodeBuilder.create(AstRoot); NodeBuilder.finalizeSCoP(S); fixRegionInfo(EnteringBB->getParent(), R->getParent()); |