No really, clear predcessors states.

llvm-svn: 37581
This commit is contained in:
Evan Cheng 2007-06-14 23:34:09 +00:00
parent b1b1914582
commit 6f348e1c75

View File

@ -662,13 +662,11 @@ void IfConverter::ReTryPreds(MachineBasicBlock *BB) {
for (MachineBasicBlock::pred_iterator PI = BB->pred_begin(),
E = BB->pred_end(); PI != E; ++PI) {
BBInfo &PBBI = BBAnalysis[(*PI)->getNumber()];
if (PBBI.IsDone)
if (PBBI.IsDone || PBBI.BB == BB)
continue;
if (PBBI.Kind == ICNotClassfied) {
assert(!PBBI.IsEnqueued && "Unexpected");
PBBI.IsAnalyzed = false;
} else if (PBBI.IsEnqueued && PBBI.BB != BB)
PBBI.IsEnqueued = false;
PBBI.Kind = ICNotClassfied;
PBBI.IsAnalyzed = false;
PBBI.IsEnqueued = false;
}
}
@ -769,8 +767,11 @@ bool IfConverter::IfConvertTriangle(BBInfo &BBI) {
if (PBB == BBI.BB)
continue;
BBInfo &PBBI = BBAnalysis[PBB->getNumber()];
if (PBBI.IsEnqueued)
if (PBBI.IsEnqueued) {
PBBI.Kind = ICNotClassfied;
PBBI.IsAnalyzed = false;
PBBI.IsEnqueued = false;
}
}
}