From 4ea24c84fb56fe1834d0b537c1d706bcb3199013 Mon Sep 17 00:00:00 2001 From: Daniel Berlin Date: Fri, 22 May 2015 00:13:05 +0000 Subject: [PATCH] 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 --- lib/Transforms/Scalar/MergedLoadStoreMotion.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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;