1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00

Fix Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll, a problem that

occurred while bugpointing another testcase

llvm-svn: 22621
This commit is contained in:
Chris Lattner 2005-08-03 17:59:45 +00:00
parent 62b0ecdfb8
commit 3672ceb70b

View File

@ -805,7 +805,7 @@ static bool FoldValueComparisonIntoPredecessors(TerminatorInst *TI) {
return Changed;
}
/// HoistThenElseCodeToIf - Given a conditional branch that codes to BB1 and
/// HoistThenElseCodeToIf - Given a conditional branch that goes to BB1 and
/// BB2, hoist any common code in the two blocks up into the branch block. The
/// caller of this function guarantees that BI's block dominates BB1 and BB2.
static bool HoistThenElseCodeToIf(BranchInst *BI) {
@ -818,7 +818,8 @@ static bool HoistThenElseCodeToIf(BranchInst *BI) {
BasicBlock *BB2 = BI->getSuccessor(1); // The false destination
Instruction *I1 = BB1->begin(), *I2 = BB2->begin();
if (I1->getOpcode() != I2->getOpcode() || !I1->isIdenticalTo(I2))
if (I1->getOpcode() != I2->getOpcode() || !I1->isIdenticalTo(I2) ||
isa<PHINode>(I1))
return false;
// If we get here, we can hoist at least one instruction.