diff --git a/llvm/include/llvm/InitializePasses.h b/llvm/include/llvm/InitializePasses.h index da38a38b87ebc..77632c9486c7d 100644 --- a/llvm/include/llvm/InitializePasses.h +++ b/llvm/include/llvm/InitializePasses.h @@ -231,7 +231,6 @@ void initializeMachineVerifierPassPass(PassRegistry&); void initializeMemoryDependenceWrapperPassPass(PassRegistry&); void initializeMemorySSAWrapperPassPass(PassRegistry&); void initializeMergeICmpsLegacyPassPass(PassRegistry &); -void initializeMergedLoadStoreMotionLegacyPassPass(PassRegistry&); void initializeModuleSummaryIndexWrapperPassPass(PassRegistry&); void initializeModuloScheduleTestPass(PassRegistry&); void initializeNaryReassociateLegacyPassPass(PassRegistry&); diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h index 3fc90e85c3533..3314ab51bb863 100644 --- a/llvm/include/llvm/LinkAllPasses.h +++ b/llvm/include/llvm/LinkAllPasses.h @@ -126,7 +126,6 @@ namespace { (void) llvm::createConstantHoistingPass(); (void) llvm::createCodeGenPreparePass(); (void) llvm::createEarlyCSEPass(); - (void) llvm::createMergedLoadStoreMotionPass(); (void) llvm::createGVNPass(); (void) llvm::createPostDomTree(); (void) llvm::createMergeICmpsLegacyPass(); diff --git a/llvm/include/llvm/Transforms/Scalar.h b/llvm/include/llvm/Transforms/Scalar.h index 0676f485f3fbc..a4672c7a18406 100644 --- a/llvm/include/llvm/Transforms/Scalar.h +++ b/llvm/include/llvm/Transforms/Scalar.h @@ -170,13 +170,6 @@ FunctionPass *createTailCallEliminationPass(); // FunctionPass *createEarlyCSEPass(bool UseMemorySSA = false); -//===----------------------------------------------------------------------===// -// -// MergedLoadStoreMotion - This pass merges loads and stores in diamonds. Loads -// are hoisted into the header, while stores sink into the footer. -// -FunctionPass *createMergedLoadStoreMotionPass(bool SplitFooterBB = false); - //===----------------------------------------------------------------------===// // // ConstantHoisting - This pass prepares a function for expensive constants. diff --git a/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp b/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp index 3c0f2010d1edf..d65054a6ff9d5 100644 --- a/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp +++ b/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp @@ -80,7 +80,6 @@ #include "llvm/Analysis/GlobalsModRef.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/Instructions.h" -#include "llvm/InitializePasses.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Transforms/Scalar.h" @@ -378,52 +377,6 @@ bool MergedLoadStoreMotion::run(Function &F, AliasAnalysis &AA) { return Changed; } -namespace { -class MergedLoadStoreMotionLegacyPass : public FunctionPass { - const bool SplitFooterBB; -public: - static char ID; // Pass identification, replacement for typeid - MergedLoadStoreMotionLegacyPass(bool SplitFooterBB = false) - : FunctionPass(ID), SplitFooterBB(SplitFooterBB) { - initializeMergedLoadStoreMotionLegacyPassPass( - *PassRegistry::getPassRegistry()); - } - - /// - /// Run the transformation for each function - /// - bool runOnFunction(Function &F) override { - if (skipFunction(F)) - return false; - MergedLoadStoreMotion Impl(SplitFooterBB); - return Impl.run(F, getAnalysis().getAAResults()); - } - -private: - void getAnalysisUsage(AnalysisUsage &AU) const override { - if (!SplitFooterBB) - AU.setPreservesCFG(); - AU.addRequired(); - AU.addPreserved(); - } -}; - -char MergedLoadStoreMotionLegacyPass::ID = 0; -} // anonymous namespace - -/// -/// createMergedLoadStoreMotionPass - The public interface to this file. -/// -FunctionPass *llvm::createMergedLoadStoreMotionPass(bool SplitFooterBB) { - return new MergedLoadStoreMotionLegacyPass(SplitFooterBB); -} - -INITIALIZE_PASS_BEGIN(MergedLoadStoreMotionLegacyPass, "mldst-motion", - "MergedLoadStoreMotion", false, false) -INITIALIZE_PASS_DEPENDENCY(AAResultsWrapperPass) -INITIALIZE_PASS_END(MergedLoadStoreMotionLegacyPass, "mldst-motion", - "MergedLoadStoreMotion", false, false) - PreservedAnalyses MergedLoadStoreMotionPass::run(Function &F, FunctionAnalysisManager &AM) { MergedLoadStoreMotion Impl(Options.SplitFooterBB); diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp index 11bb8e936b74e..cf90488bfe60f 100644 --- a/llvm/lib/Transforms/Scalar/Scalar.cpp +++ b/llvm/lib/Transforms/Scalar/Scalar.cpp @@ -43,7 +43,6 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) { initializeLowerConstantIntrinsicsPass(Registry); initializeLowerWidenableConditionLegacyPassPass(Registry); initializeMergeICmpsLegacyPassPass(Registry); - initializeMergedLoadStoreMotionLegacyPassPass(Registry); initializeNaryReassociateLegacyPassPass(Registry); initializePartiallyInlineLibCallsLegacyPassPass(Registry); initializeReassociateLegacyPassPass(Registry);