diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-08-03 17:59:45 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-08-03 17:59:45 +0000 |
| commit | d683bdd0f85d679dae2dfc19702cbd62e8e509d2 (patch) | |
| tree | 42d3c11509fed4bd91bac109dbc08ae488cb752f /llvm/lib/Transforms | |
| parent | 590642eb91d96e33dac28a8da97e96d35a3caf44 (diff) | |
| download | bcm5719-llvm-d683bdd0f85d679dae2dfc19702cbd62e8e509d2.tar.gz bcm5719-llvm-d683bdd0f85d679dae2dfc19702cbd62e8e509d2.zip | |
Fix Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll, a problem that
occurred while bugpointing another testcase
llvm-svn: 22621
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 742efe61844..2bf9ae89f9f 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -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. |

