From 521c16aadd56503320f61ec0a78ca7fda130ee8f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 5 Oct 2003 03:45:44 +0000 Subject: [PATCH] Simplify the loop a bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8862 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Utils/PromoteMemoryToRegister.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 4bfc4e041a0..abfa28b7528 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 &IncomingVals) { + // If this BB needs a PHI node, update the PHI node for each variable we need // PHI nodes for. std::map >::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(II); ) { Instruction *I = II++; // get the instruction, increment iterator if (LoadInst *LI = dyn_cast(I)) { @@ -246,16 +246,15 @@ void PromoteMem2Reg::RenamePass(BasicBlock *BB, BasicBlock *Pred, BB->getInstList().erase(SI); } } - - } else if (TerminatorInst *TI = dyn_cast(I)) { - // Recurse across our successors - for (unsigned i = 0; i != TI->getNumSuccessors(); i++) { - std::vector 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 OutgoingVals(IncomingVals); + RenamePass(TI->getSuccessor(i), BB, OutgoingVals); + } } /// PromoteMemToReg - Promote the specified list of alloca instructions into