diff options
Diffstat (limited to 'polly/lib/Support')
-rw-r--r-- | polly/lib/Support/ScopHelper.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/polly/lib/Support/ScopHelper.cpp b/polly/lib/Support/ScopHelper.cpp index efb3b9afa698..5d29fe8b7a22 100644 --- a/polly/lib/Support/ScopHelper.cpp +++ b/polly/lib/Support/ScopHelper.cpp @@ -428,13 +428,19 @@ bool polly::isErrorBlock(BasicBlock &BB, const Region &R, LoopInfo &LI, // as their execution can not be a rare event. bool DominatesAllPredecessors = true; if (R.isTopLevelRegion()) { - for (BasicBlock &I : *R.getEntry()->getParent()) - if (isa<ReturnInst>(I.getTerminator()) && !DT.dominates(&BB, &I)) + for (BasicBlock &I : *R.getEntry()->getParent()) { + if (isa<ReturnInst>(I.getTerminator()) && !DT.dominates(&BB, &I)) { DominatesAllPredecessors = false; + break; + } + } } else { - for (auto Pred : predecessors(R.getExit())) - if (R.contains(Pred) && !DT.dominates(&BB, Pred)) + for (auto Pred : predecessors(R.getExit())) { + if (R.contains(Pred) && !DT.dominates(&BB, Pred)) { DominatesAllPredecessors = false; + break; + } + } } if (DominatesAllPredecessors) |