[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