diff options
Diffstat (limited to 'polly/lib/Analysis/ScopDetection.cpp')
| -rw-r--r-- | polly/lib/Analysis/ScopDetection.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/polly/lib/Analysis/ScopDetection.cpp b/polly/lib/Analysis/ScopDetection.cpp index 343ac83f3ca..335418f7958 100644 --- a/polly/lib/Analysis/ScopDetection.cpp +++ b/polly/lib/Analysis/ScopDetection.cpp @@ -390,9 +390,6 @@ bool ScopDetection::isValidInstruction(Instruction &Inst, bool ScopDetection::isValidBasicBlock(BasicBlock &BB, DetectionContext &Context) const { - if (!isValidCFG(BB, Context)) - return false; - // Check all instructions, except the terminator instruction. for (BasicBlock::iterator I = BB.begin(), E = --BB.end(); I != E; ++I) if (!isValidInstruction(*I, Context)) @@ -542,6 +539,11 @@ bool ScopDetection::allBlocksValid(DetectionContext &Context) const { for (Region::block_iterator I = R.block_begin(), E = R.block_end(); I != E; ++I) + if (!isValidCFG(**I, Context)) + return false; + + for (Region::block_iterator I = R.block_begin(), E = R.block_end(); I != E; + ++I) if (!isValidBasicBlock(**I, Context)) return false; |

