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 | 54ea37b9e942831eea9e20810c91133c1e7c47f2 (patch) | |
| tree | d2cd65e265aeb93bfd7ce807b6195c2829949e25 /llvm/lib | |
| parent | b77103b7e4cdef8e0f0353aff2a72a54908eb23e (diff) | |
| download | bcm5719-llvm-54ea37b9e942831eea9e20810c91133c1e7c47f2.tar.gz bcm5719-llvm-54ea37b9e942831eea9e20810c91133c1e7c47f2.zip | |
Remember to update the reverse non-local cache when cleaning up dirty entries. This fixes PR2397.
llvm-svn: 51846
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp index 6489892df17..2012ab473c9 100644 --- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp +++ b/llvm/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++; |

