diff options
author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-11-08 16:34:17 +0000 |
---|---|---|
committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-11-08 16:34:17 +0000 |
commit | 1dd6e37af45753e8e2980896a7240dd502f471e7 (patch) | |
tree | 31ff2384ce6f926e11729db00f13d97d38a5c38d /polly/lib/CodeGen/CodeGeneration.cpp | |
parent | 02d97aa74e78c288a0ea9d5eb590b2c7f0e44770 (diff) | |
download | bcm5719-llvm-1dd6e37af45753e8e2980896a7240dd502f471e7.tar.gz bcm5719-llvm-1dd6e37af45753e8e2980896a7240dd502f471e7.zip |
Verify IR after we bail out
The bail out in r252412 left the code generation without verifying the (so
far) generated IR. This will change now and ensure we always run the
verifier.
Suggested-by: Tobias Grosser <tobias@grosser.es>
llvm-svn: 252419
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"); |