summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-06-01 21:03:52 +0000
committerOwen Anderson <resistor@mac.com>2008-06-01 21:03:52 +0000
commit54ea37b9e942831eea9e20810c91133c1e7c47f2 (patch)
treed2cd65e265aeb93bfd7ce807b6195c2829949e25
parentb77103b7e4cdef8e0f0353aff2a72a54908eb23e (diff)
downloadbcm5719-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
-rw-r--r--llvm/lib/Analysis/MemoryDependenceAnalysis.cpp5
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++;
OpenPOWER on IntegriCloud