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.cpp20
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");
OpenPOWER on IntegriCloud