aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-03-30 18:34:47 +0000
committerDevang Patel <dpatel@apple.com>2009-03-30 18:34:47 +0000
commit6d9a2df4ecd7977588ac5e5ad080e22cce2f1c23 (patch)
treeab0f8789ecb30eaf767430496ae51a596ef3959c
parent854b9d76232308795c2473172060e3eb8b470170 (diff)
downloadexternal_llvm-6d9a2df4ecd7977588ac5e5ad080e22cce2f1c23.zip
external_llvm-6d9a2df4ecd7977588ac5e5ad080e22cce2f1c23.tar.gz
external_llvm-6d9a2df4ecd7977588ac5e5ad080e22cce2f1c23.tar.bz2
getEntryFor() may invalidate DenseMap iterator.
Walking an invalidated iterator is not a good idea. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68047 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Analysis/AliasSetTracker.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp
index a386a49..18c2b66 100644
--- a/lib/Analysis/AliasSetTracker.cpp
+++ b/lib/Analysis/AliasSetTracker.cpp
@@ -520,6 +520,7 @@ void AliasSetTracker::copyValue(Value *From, Value *To) {
if (Entry.hasAliasSet()) return; // Already in the tracker!
// Add it to the alias set it aliases...
+ I = PointerMap.find(From);
AliasSet *AS = I->second->getAliasSet(*this);
AS->addPointer(*this, Entry, I->second->getSize(), true);
}