diff options
| author | Shuxin Yang <shuxin.llvm@gmail.com> | 2013-11-12 08:33:03 +0000 |
|---|---|---|
| committer | Shuxin Yang <shuxin.llvm@gmail.com> | 2013-11-12 08:33:03 +0000 |
| commit | f1ec34bdfd0bb3e276dd9639c7e46bef6a8b09ea (patch) | |
| tree | bb4e32cf56769f7d2c0f0e234fa33a596b5e89a8 /llvm/lib/Transforms/Scalar | |
| parent | 72c83a867cc70d1166a8d9c5ea18535dc5e87a07 (diff) | |
| download | bcm5719-llvm-f1ec34bdfd0bb3e276dd9639c7e46bef6a8b09ea.tar.gz bcm5719-llvm-f1ec34bdfd0bb3e276dd9639c7e46bef6a8b09ea.zip | |
Correct a glitch in r194424 which may invalidate iterator.
llvm-svn: 194457
Diffstat (limited to 'llvm/lib/Transforms/Scalar')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/GVN.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp index d353765b42a..6af269dfed3 100644 --- a/llvm/lib/Transforms/Scalar/GVN.cpp +++ b/llvm/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)) |

