diff options
author | Chris Lattner <sabre@nondot.org> | 2003-10-05 03:45:44 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-10-05 03:45:44 +0000 |
commit | 521c16aadd56503320f61ec0a78ca7fda130ee8f (patch) | |
tree | 689f4d329becd2625cd697665696e1388e0f533a /lib/Transforms/Utils/PromoteMemoryToRegister.cpp | |
parent | 92581c24a3b9c4ec2c31ae1985eb5980c5f5c86f (diff) |
Simplify the loop a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8862 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/PromoteMemoryToRegister.cpp')
-rw-r--r-- | lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 4bfc4e041a..abfa28b752 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -193,6 +193,7 @@ bool PromoteMem2Reg::QueuePhiNode(BasicBlock *BB, unsigned AllocaNo) { void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred, std::vector<Value*> &IncomingVals) { + // If this BB needs a PHI node, update the PHI node for each variable we need // PHI nodes for. std::map<BasicBlock*, std::vector<PHINode *> >::iterator @@ -220,8 +221,7 @@ void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred, // mark as visited Visited.insert(BB); - BasicBlock::iterator II = BB->begin(); - while (1) { + for (BasicBlock::iterator II = BB->begin(); !isa<TerminatorInst>(II); ) { Instruction *I = II++; // get the instruction, increment iterator if (LoadInst *LI = dyn_cast<LoadInst>(I)) { @@ -246,16 +246,15 @@ void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred, BB->getInstList().erase(SI); } } - - } else if (TerminatorInst *TI = dyn_cast<TerminatorInst>(I)) { - // Recurse across our successors - for (unsigned i = 0; i != TI->getNumSuccessors(); i++) { - std::vector<Value*> OutgoingVals(IncomingVals); - RenamePass(TI->getSuccessor(i), BB, OutgoingVals); - } - break; } } + + // Recurse to our successors + TerminatorInst *TI = BB->getTerminator(); + for (unsigned i = 0; i != TI->getNumSuccessors(); i++) { + std::vector<Value*> OutgoingVals(IncomingVals); + RenamePass(TI->getSuccessor(i), BB, OutgoingVals); + } } /// PromoteMemToReg - Promote the specified list of alloca instructions into |