diff options
Diffstat (limited to 'polly/lib/CodeGen/CodeGeneration.cpp')
-rw-r--r-- | polly/lib/CodeGen/CodeGeneration.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/polly/lib/CodeGen/CodeGeneration.cpp b/polly/lib/CodeGen/CodeGeneration.cpp index 95ddbfbbfd6..2b04f838dbc 100644 --- a/polly/lib/CodeGen/CodeGeneration.cpp +++ b/polly/lib/CodeGen/CodeGeneration.cpp @@ -150,22 +150,24 @@ public: // If the hoisting fails we have to bail and execute the original code. Builder.SetInsertPoint(SplitBlock->getTerminator()); if (!NodeBuilder.preloadInvariantLoads()) { + auto *FalseI1 = Builder.getFalse(); Builder.GetInsertBlock()->getTerminator()->setOperand(0, FalseI1); isl_ast_node_free(AstRoot); - return true; - } - NodeBuilder.addParameters(S.getContext()); + } else { - Value *RTC = buildRTC(Builder, NodeBuilder.getExprBuilder()); - Builder.GetInsertBlock()->getTerminator()->setOperand(0, RTC); - Builder.SetInsertPoint(&StartBlock->front()); + NodeBuilder.addParameters(S.getContext()); - NodeBuilder.create(AstRoot); + Value *RTC = buildRTC(Builder, NodeBuilder.getExprBuilder()); + Builder.GetInsertBlock()->getTerminator()->setOperand(0, RTC); + Builder.SetInsertPoint(&StartBlock->front()); - NodeBuilder.finalizeSCoP(S); - fixRegionInfo(EnteringBB->getParent(), R->getParent()); + NodeBuilder.create(AstRoot); + + NodeBuilder.finalizeSCoP(S); + fixRegionInfo(EnteringBB->getParent(), R->getParent()); + } assert(!verifyGeneratedFunction(S, *EnteringBB->getParent()) && "Verification of generated function failed"); |