RegionInfo: Do not assert if a BB is not part of the dominance tree.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110665 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tobias Grosser 2010-08-10 09:54:35 +00:00
parent 0e28b1507f
commit 73362c820b
2 changed files with 24 additions and 2 deletions

View File

@ -136,14 +136,16 @@ bool Region::isSimple() const {
return false;
for (pred_iterator PI = pred_begin(entry), PE = pred_end(entry); PI != PE;
++PI)
if (!contains(*PI)) {
++PI) {
BasicBlock *Pred = *PI;
if (DT->getNode(Pred) && !contains(Pred)) {
if (found) {
isSimple = false;
break;
}
found = true;
}
}
found = false;

View File

@ -0,0 +1,20 @@
; RUN: opt -regions %s
define i32 @main() nounwind {
entry:
br label %for.cond
test:
br label %for.cond
for.cond: ; preds = %for.inc, %entry
br i1 true, label %for.body, label %for.end
for.body: ; preds = %for.cond
br label %for.inc
for.inc: ; preds = %for.body
br label %for.cond
for.end: ; preds = %for.cond
ret i32 0
}