Changes to support PHINode::removeIncoming changes

llvm-svn: 4079
This commit is contained in:
Chris Lattner 2002-10-08 21:36:33 +00:00
parent fae98a2d28
commit a704ac8a66
1 changed files with 2 additions and 9 deletions

View File

@ -1,13 +1,6 @@
//===- SimplifyCFG.cpp - Code to perform CFG simplification ---------------===// //===- SimplifyCFG.cpp - Code to perform CFG simplification ---------------===//
// //
// SimplifyCFG - This function is used to do simplification of a CFG. For // Peephole optimize the CFG.
// example, it adjusts branches to branches to eliminate the extra hop, it
// eliminates unreachable basic blocks, and does other "peephole" optimization
// of the CFG. It returns true if a modification was made, and returns an
// iterator that designates the first element remaining after the block that
// was deleted.
//
// WARNING: The entry node of a function may not be simplified.
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
@ -48,7 +41,7 @@ static bool PropogatePredecessorsForPHIs(BasicBlock *BB, BasicBlock *Succ) {
// Loop over all of the PHI nodes in the successor BB // Loop over all of the PHI nodes in the successor BB
for (BasicBlock::iterator I = Succ->begin(); for (BasicBlock::iterator I = Succ->begin();
PHINode *PN = dyn_cast<PHINode>(&*I); ++I) { PHINode *PN = dyn_cast<PHINode>(&*I); ++I) {
Value *OldVal = PN->removeIncomingValue(BB); Value *OldVal = PN->removeIncomingValue(BB, false);
assert(OldVal && "No entry in PHI for Pred BB!"); assert(OldVal && "No entry in PHI for Pred BB!");
for (std::vector<BasicBlock*>::const_iterator PredI = BBPreds.begin(), for (std::vector<BasicBlock*>::const_iterator PredI = BBPreds.begin(),