diff options
author | Owen Anderson <resistor@mac.com> | 2008-06-01 21:03:52 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-06-01 21:03:52 +0000 |
commit | 6bd15ce03f27047909da227f923e36249bf8182b (patch) | |
tree | fc04944d4baa7bdafc7f774c581a40d25ff43f59 /lib/Analysis | |
parent | d8f34fa3d616a99e90ac9111fdc60b7b4ec0aae9 (diff) | |
download | external_llvm-6bd15ce03f27047909da227f923e36249bf8182b.zip external_llvm-6bd15ce03f27047909da227f923e36249bf8182b.tar.gz external_llvm-6bd15ce03f27047909da227f923e36249bf8182b.tar.bz2 |
Remember to update the reverse non-local cache when cleaning up dirty entries. This fixes PR2397.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51846 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis')
-rw-r--r-- | lib/Analysis/MemoryDependenceAnalysis.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Analysis/MemoryDependenceAnalysis.cpp b/lib/Analysis/MemoryDependenceAnalysis.cpp index 6489892..2012ab4 100644 --- a/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/lib/Analysis/MemoryDependenceAnalysis.cpp @@ -282,6 +282,11 @@ void MemoryDependenceAnalysis::getNonLocalDependency(Instruction* query, resp = cached; + // Update the reverse non-local dependency cache + for (DenseMap<BasicBlock*, Value*>::iterator I = resp.begin(), E = resp.end(); + I != E; ++I) + reverseDepNonLocal[I->second].insert(query); + return; } else NumUncacheNonlocal++; |