diff options
-rw-r--r-- | lib/Transforms/Scalar/GVN.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Transforms/Scalar/GVN.cpp b/lib/Transforms/Scalar/GVN.cpp index d353765b42..6af269dfed 100644 --- a/lib/Transforms/Scalar/GVN.cpp +++ b/lib/Transforms/Scalar/GVN.cpp @@ -2730,7 +2730,9 @@ void GVN::addDeadBlock(BasicBlock *BB) { if (DeadBlocks.count(B)) continue; - for (pred_iterator PI = pred_begin(B), PE = pred_end(B); PI != PE; PI++) { + SmallVector<BasicBlock *, 4> Preds(pred_begin(B), pred_end(B)); + for (SmallVectorImpl<BasicBlock *>::iterator PI = Preds.begin(), + PE = Preds.end(); PI != PE; PI++) { BasicBlock *P = *PI; if (!DeadBlocks.count(P)) |