Simplify code by using SmallVector's pop_back_val() instead of
authorDan Gohman <gohman@apple.com>
Wed, 6 May 2009 17:22:41 +0000 (17:22 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 6 May 2009 17:22:41 +0000 (17:22 +0000)
separate back() and pop_back() calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71089 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/CloneLoop.cpp
lib/Transforms/Utils/Local.cpp
lib/Transforms/Utils/PromoteMemoryToRegister.cpp
lib/Transforms/Utils/SimplifyCFG.cpp

index a0306ffa527232f2d7e8e1ca1d94c2aeeffe6374..7e000a1a75fe660b8170238bcfabbf64b6dce7d8 100644 (file)
@@ -92,8 +92,7 @@ Loop *llvm::CloneLoop(Loop *OrigL, LPPassManager  *LPM, LoopInfo *LI,
 
   Loop *NewParentLoop = NULL;
   while (!LoopNest.empty()) {
-    Loop *L = LoopNest.back();
-    LoopNest.pop_back();
+    Loop *L = LoopNest.pop_back_val();
     Loop *NewLoop = new Loop();
 
     if (!NewParentLoop)
index 4f2bb1e3de7a80665c8d4bbbe028d326e29cd709..94483b816e3b524279d39c8787fe7cd4da7ca04a 100644 (file)
@@ -188,8 +188,7 @@ void llvm::RecursivelyDeleteTriviallyDeadInstructions(Value *V) {
   DeadInsts.push_back(I);
   
   while (!DeadInsts.empty()) {
-    I = DeadInsts.back();
-    DeadInsts.pop_back();
+    I = DeadInsts.pop_back_val();
 
     // Null out all of the instruction's operands to see if any operand becomes
     // dead as we go.
index 1896be45edec809022e69ff288e19ef5a26b9642..b717699b7e055cfcbbd13291a56191f692aa5c2c 100644 (file)
@@ -616,8 +616,7 @@ ComputeLiveInBlocks(AllocaInst *AI, AllocaInfo &Info,
   // Now that we have a set of blocks where the phi is live-in, recursively add
   // their predecessors until we find the full region the value is live.
   while (!LiveInBlockWorklist.empty()) {
-    BasicBlock *BB = LiveInBlockWorklist.back();
-    LiveInBlockWorklist.pop_back();
+    BasicBlock *BB = LiveInBlockWorklist.pop_back_val();
     
     // The block really is live in here, insert it into the set.  If already in
     // the set, then it has already been processed.
index 1cbf91fd7a44025fe3caebd6f4833b131a882ee3..4435b13e00b1036d4a6a67a7cc3c977e05668aa5 100644 (file)
@@ -742,8 +742,7 @@ static bool FoldValueComparisonIntoPredecessors(TerminatorInst *TI) {
 
   SmallVector<BasicBlock*, 16> Preds(pred_begin(BB), pred_end(BB));
   while (!Preds.empty()) {
-    BasicBlock *Pred = Preds.back();
-    Preds.pop_back();
+    BasicBlock *Pred = Preds.pop_back_val();
 
     // See if the predecessor is a comparison with the same value.
     TerminatorInst *PTI = Pred->getTerminator();
@@ -1805,10 +1804,9 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
       // If we found some, do the transformation!
       if (!UncondBranchPreds.empty()) {
         while (!UncondBranchPreds.empty()) {
-          BasicBlock *Pred = UncondBranchPreds.back();
+          BasicBlock *Pred = UncondBranchPreds.pop_back_val();
           DOUT << "FOLDING: " << *BB
                << "INTO UNCOND BRANCH PRED: " << *Pred;
-          UncondBranchPreds.pop_back();
           Instruction *UncondBranch = Pred->getTerminator();
           // Clone the return and add it to the end of the predecessor.
           Instruction *NewRet = RI->clone();
@@ -1847,8 +1845,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
       // instruction.  If any of them just select between returns, change the
       // branch itself into a select/return pair.
       while (!CondBranchPreds.empty()) {
-        BranchInst *BI = CondBranchPreds.back();
-        CondBranchPreds.pop_back();
+        BranchInst *BI = CondBranchPreds.pop_back_val();
 
         // Check to see if the non-BB successor is also a return block.
         if (isa<ReturnInst>(BI->getSuccessor(0)->getTerminator()) &&