diff options
Diffstat (limited to 'polly/lib/Analysis/ScopInfo.cpp')
-rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index 68316588612..39ac622a3c7 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -3651,6 +3651,12 @@ void ScopInfo::buildStmts(Region &SR) { void ScopInfo::buildAccessFunctions(Region &R, BasicBlock &BB, Region *NonAffineSubRegion, bool IsExitBlock) { + // We do not build access functions for error blocks, as they may contain + // instructions we can not model. + DominatorTree &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree(); + if (isErrorBlock(BB, R, *LI, DT) && !IsExitBlock) + return; + Loop *L = LI->getLoopFor(&BB); // The set of loops contained in non-affine subregions that are part of R. |