[llvm-commits] CVS: llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
Chris Lattner
lattner at cs.uiuc.edu
Sat Oct 4 22:46:01 PDT 2003
Changes in directory llvm/lib/Transforms/Utils:
PromoteMemoryToRegister.cpp updated: 1.47 -> 1.48
---
Log message:
Simplify the loop a bit
---
Diffs of the changes:
Index: llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
diff -u llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.47 llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.48
--- llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.47 Sat Oct 4 22:39:10 2003
+++ llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Sat Oct 4 22:45:44 2003
@@ -193,6 +193,7 @@
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 @@
// 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,15 +246,14 @@
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);
}
}
More information about the llvm-commits
mailing list