diff options
Diffstat (limited to 'polly/lib/CodeGen/IslAst.cpp')
-rw-r--r-- | polly/lib/CodeGen/IslAst.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp index 3c67cc7ed10..346e14f496b 100644 --- a/polly/lib/CodeGen/IslAst.cpp +++ b/polly/lib/CodeGen/IslAst.cpp @@ -806,6 +806,12 @@ bool IslAstInfoWrapperPass::runOnScop(Scop &Scop) { const Dependences &D = getAnalysis<DependenceInfo>().getDependences(Dependences::AL_Statement); + if (D.getSharedIslCtx() != Scop.getSharedIslCtx()) { + DEBUG(dbgs() << "Got dependence analysis for different SCoP/isl_ctx\n"); + Ast.reset(); + return false; + } + Ast.reset(new IslAstInfo(Scop, D)); DEBUG(printScop(dbgs(), Scop)); @@ -815,7 +821,7 @@ bool IslAstInfoWrapperPass::runOnScop(Scop &Scop) { void IslAstInfoWrapperPass::getAnalysisUsage(AnalysisUsage &AU) const { // Get the Common analysis usage of ScopPasses. ScopPass::getAnalysisUsage(AU); - AU.addRequired<ScopInfoRegionPass>(); + AU.addRequiredTransitive<ScopInfoRegionPass>(); AU.addRequired<DependenceInfo>(); AU.addPreserved<DependenceInfo>(); |