Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator...
[oota-llvm.git] / lib / Transforms / Utils / BasicBlockUtils.cpp
index 5af417cd936a8c9be2c2de7feb20ef4e103836f5..602e8ba55107a073109533d06c3dca0223d76504 100644 (file)
@@ -549,11 +549,14 @@ void llvm::SplitLandingPadPredecessors(BasicBlock *OrigBB,
 
   // Move the remaining edges from OrigBB to point to NewBB2.
   SmallVector<BasicBlock*, 8> NewBB2Preds;
-  for (BasicBlock *Pred : predecessors(OrigBB)) {
+  for (pred_iterator i = pred_begin(OrigBB), e = pred_end(OrigBB);
+       i != e; ) {
+    BasicBlock *Pred = *i++;
     if (Pred == NewBB1) continue;
     assert(!isa<IndirectBrInst>(Pred->getTerminator()) &&
            "Cannot split an edge from an IndirectBrInst");
     NewBB2Preds.push_back(Pred);
+    e = pred_end(OrigBB);
   }
 
   BasicBlock *NewBB2 = nullptr;