summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/LazyValueInfo.cpp
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2015-08-20 18:24:54 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2015-08-20 18:24:54 +0000
commited6b9bfeabdc482d2b133eb3054a3c1530449f27 (patch)
tree1cc3d3afa8ff91b48f53a4dbe76409a0a4458920 /llvm/lib/Analysis/LazyValueInfo.cpp
parentbaf90fc2658bac897abfc3375596d40af53c0521 (diff)
downloadbcm5719-llvm-ed6b9bfeabdc482d2b133eb3054a3c1530449f27.tar.gz
bcm5719-llvm-ed6b9bfeabdc482d2b133eb3054a3c1530449f27.zip
[LVI] Avoid iterator invalidation in LazyValueInfoCache::threadEdge
Do that by copying out the elements to another SmallPtrSet. Follow up from r245309. llvm-svn: 245590
Diffstat (limited to 'llvm/lib/Analysis/LazyValueInfo.cpp')
-rw-r--r--llvm/lib/Analysis/LazyValueInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/LazyValueInfo.cpp b/llvm/lib/Analysis/LazyValueInfo.cpp
index a984bc40ac1..4fb6b105646 100644
--- a/llvm/lib/Analysis/LazyValueInfo.cpp
+++ b/llvm/lib/Analysis/LazyValueInfo.cpp
@@ -1055,7 +1055,7 @@ void LazyValueInfoCache::threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc,
auto I = OverDefinedCache.find(OldSucc);
if (I == OverDefinedCache.end())
return; // Nothing to process here.
- SmallPtrSetImpl<Value *> &ClearSet = I->second;
+ SmallPtrSet<Value *, 4> ClearSet(I->second.begin(), I->second.end());
// Use a worklist to perform a depth-first search of OldSucc's successors.
// NOTE: We do not need a visited list since any blocks we have already
OpenPOWER on IntegriCloud