From: Daniel Berlin Date: Fri, 22 May 2015 00:13:05 +0000 (+0000) Subject: MergedLoadStoreMotion preserves MemoryDependenceAnalysis, it does not require it. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4ea24c84fb56fe1834d0b537c1d706bcb3199013;p=oota-llvm.git MergedLoadStoreMotion preserves MemoryDependenceAnalysis, it does not require it. (It already was coded assuming it can sometimes be null, so no other changes are necessary) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237978 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp b/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp index 73f42961cb1..611a941b0b2 100644 --- a/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp +++ b/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp @@ -117,8 +117,8 @@ private: // This transformation requires dominator postdominator info void getAnalysisUsage(AnalysisUsage &AU) const override { AU.addRequired(); - AU.addRequired(); AU.addRequired(); + AU.addPreserved(); AU.addPreserved(); } @@ -580,7 +580,7 @@ bool MergedLoadStoreMotion::mergeStores(BasicBlock *T) { /// \brief Run the transformation for each function /// bool MergedLoadStoreMotion::runOnFunction(Function &F) { - MD = &getAnalysis(); + MD = getAnalysisIfAvailable(); AA = &getAnalysis(); bool Changed = false;