[llvm-commits] [llvm] r40596 - in /llvm/trunk/lib: Analysis/MemoryDependenceAnalysis.cpp Transforms/Scalar/GVN.cpp

Owen Anderson resistor at mac.com
Mon Jul 30 10:29:24 PDT 2007


Author: resistor
Date: Mon Jul 30 12:29:24 2007
New Revision: 40596

URL: http://llvm.org/viewvc/llvm-project?rev=40596&view=rev
Log:
Use more caching when computing non-local dependence.  This makes bzip2 not
use up the entire 32-bit address space.

Modified:
    llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
    llvm/trunk/lib/Transforms/Scalar/GVN.cpp

Modified: llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp?rev=40596&r1=40595&r2=40596&view=diff

==============================================================================
--- llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp Mon Jul 30 12:29:24 2007
@@ -129,6 +129,8 @@
 
   if (!inserted && !predOnStack)
     resp.insert(std::make_pair(block, None));
+  else if (inserted && predOnStack)
+    resp.insert(std::make_pair(block, NonLocal));
   
   return inserted;
 }

Modified: llvm/trunk/lib/Transforms/Scalar/GVN.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/GVN.cpp?rev=40596&r1=40595&r2=40596&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/GVN.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/GVN.cpp Mon Jul 30 12:29:24 2007
@@ -752,7 +752,9 @@
        I != E; ++I)
     if (I->second == MemoryDependenceAnalysis::None) {
       return false;
-    } else if (StoreInst* S = dyn_cast<StoreInst>(I->second)) {
+    } else if (I->second == MemoryDependenceAnalysis::NonLocal) {
+      continue;
+    }else if (StoreInst* S = dyn_cast<StoreInst>(I->second)) {
       if (S->getPointerOperand() == L->getPointerOperand())
         repl.insert(std::make_pair(I->first, S->getOperand(0)));
       else





More information about the llvm-commits mailing list