Add an Assumption-Tracking Pass
[oota-llvm.git] / lib / Transforms / Utils / SSAUpdater.cpp
index 67d06d1ef64ec9a38eba6922bd3608259d92d517..3fcb789bd8425a681d2f3cf21b815aa1d5c8727d 100644 (file)
@@ -110,7 +110,8 @@ Value *SSAUpdater::GetValueInMiddleOfBlock(BasicBlock *BB) {
     }
   } else {
     bool isFirstPred = true;
-    for (BasicBlock *PredBB : predecessors(BB)) {
+    for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) {
+      BasicBlock *PredBB = *PI;
       Value *PredVal = GetValueAtEndOfBlock(PredBB);
       PredValues.push_back(std::make_pair(PredBB, PredVal));
 
@@ -247,7 +248,8 @@ public:
       for (unsigned PI = 0, E = SomePhi->getNumIncomingValues(); PI != E; ++PI)
         Preds->push_back(SomePhi->getIncomingBlock(PI));
     } else {
-      Preds->insert(Preds->end(), pred_begin(BB), pred_end(BB));
+      for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI)
+        Preds->push_back(*PI);
     }
   }