Change Value::getUnderlyingObject to have the MaxLookup value specified as a
[oota-llvm.git] / lib / Transforms / Scalar / SimplifyCFGPass.cpp
index a36da785196770570067d12a3bb5bdc15c33ff2d..43447de0792f15ccece5c9abc379ef1c592d9c40 100644 (file)
@@ -99,9 +99,8 @@ static bool MarkAliveBlocks(BasicBlock *BB,
   SmallVector<BasicBlock*, 128> Worklist;
   Worklist.push_back(BB);
   bool Changed = false;
-  while (!Worklist.empty()) {
-    BB = Worklist.back();
-    Worklist.pop_back();
+  do {
+    BB = Worklist.pop_back_val();
     
     if (!Reachable.insert(BB))
       continue;
@@ -150,7 +149,7 @@ static bool MarkAliveBlocks(BasicBlock *BB,
     Changed |= ConstantFoldTerminator(BB);
     for (succ_iterator SI = succ_begin(BB), SE = succ_end(BB); SI != SE; ++SI)
       Worklist.push_back(*SI);
-  }
+  } while (!Worklist.empty());
   return Changed;
 }