diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2015-08-20 18:24:54 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2015-08-20 18:24:54 +0000 |
commit | ed6b9bfeabdc482d2b133eb3054a3c1530449f27 (patch) | |
tree | 1cc3d3afa8ff91b48f53a4dbe76409a0a4458920 /llvm/lib/Analysis/LazyValueInfo.cpp | |
parent | baf90fc2658bac897abfc3375596d40af53c0521 (diff) | |
download | bcm5719-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.cpp | 2 |
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 |