From 6c99015fe2c1814f793530adc96f48050081612e Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 21 Jul 2014 17:06:51 +0000 Subject: Revert "[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges." This reverts commit r213474 (and r213475), which causes a miscompile on a stage2 LTO build. I'll reply on the list in a moment. llvm-svn: 213562 --- llvm/lib/Transforms/Utils/SSAUpdater.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Transforms/Utils/SSAUpdater.cpp') diff --git a/llvm/lib/Transforms/Utils/SSAUpdater.cpp b/llvm/lib/Transforms/Utils/SSAUpdater.cpp index 67d06d1ef64..3fcb789bd84 100644 --- a/llvm/lib/Transforms/Utils/SSAUpdater.cpp +++ b/llvm/lib/Transforms/Utils/SSAUpdater.cpp @@ -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); } } -- cgit v1.2.3