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 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits