diff --git a/llvm/include/llvm/InitializePasses.h b/llvm/include/llvm/InitializePasses.h index 13baf94b5328e..dafb1681e837e 100644 --- a/llvm/include/llvm/InitializePasses.h +++ b/llvm/include/llvm/InitializePasses.h @@ -212,7 +212,6 @@ void initializeLoopGuardWideningLegacyPassPass(PassRegistry&); void initializeLoopIdiomRecognizeLegacyPassPass(PassRegistry&); void initializeLoopInfoWrapperPassPass(PassRegistry&); void initializeLoopInstSimplifyLegacyPassPass(PassRegistry&); -void initializeLoopInterchangeLegacyPassPass(PassRegistry &); void initializeLoopFlattenLegacyPassPass(PassRegistry&); void initializeLoopPassPass(PassRegistry&); void initializeLoopPredicationLegacyPassPass(PassRegistry&); diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h index fe698e2e40fee..a7391de8fe22f 100644 --- a/llvm/include/llvm/LinkAllPasses.h +++ b/llvm/include/llvm/LinkAllPasses.h @@ -108,7 +108,6 @@ namespace { (void) llvm::createLoopSinkPass(); (void) llvm::createLazyValueInfoPass(); (void) llvm::createLoopExtractorPass(); - (void) llvm::createLoopInterchangePass(); (void) llvm::createLoopFlattenPass(); (void) llvm::createLoopPredicationPass(); (void) llvm::createLoopSimplifyPass(); diff --git a/llvm/include/llvm/Transforms/Scalar.h b/llvm/include/llvm/Transforms/Scalar.h index 8c45d2d864bc2..85b19315dcd03 100644 --- a/llvm/include/llvm/Transforms/Scalar.h +++ b/llvm/include/llvm/Transforms/Scalar.h @@ -143,13 +143,6 @@ Pass *createLoopSinkPass(); // Pass *createLoopPredicationPass(); -//===----------------------------------------------------------------------===// -// -// LoopInterchange - This pass interchanges loops to provide a more -// cache-friendly memory access patterns. -// -Pass *createLoopInterchangePass(); - //===----------------------------------------------------------------------===// // // LoopFlatten - This pass flattens nested loops into a single loop. diff --git a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp index 0a7c62113c7f6..14febae354b1a 100644 --- a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp +++ b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp @@ -1716,52 +1716,6 @@ bool LoopInterchangeTransform::adjustLoopLinks() { return Changed; } -namespace { -/// Main LoopInterchange Pass. -struct LoopInterchangeLegacyPass : public LoopPass { - static char ID; - - LoopInterchangeLegacyPass() : LoopPass(ID) { - initializeLoopInterchangeLegacyPassPass(*PassRegistry::getPassRegistry()); - } - - void getAnalysisUsage(AnalysisUsage &AU) const override { - AU.addRequired(); - AU.addRequired(); - - getLoopAnalysisUsage(AU); - } - - bool runOnLoop(Loop *L, LPPassManager &LPM) override { - if (skipLoop(L)) - return false; - - auto *SE = &getAnalysis().getSE(); - auto *LI = &getAnalysis().getLoopInfo(); - auto *DI = &getAnalysis().getDI(); - auto *DT = &getAnalysis().getDomTree(); - auto *ORE = &getAnalysis().getORE(); - std::unique_ptr CC = nullptr; - return LoopInterchange(SE, LI, DI, DT, CC, ORE).run(L); - } -}; -} // namespace - -char LoopInterchangeLegacyPass::ID = 0; - -INITIALIZE_PASS_BEGIN(LoopInterchangeLegacyPass, "loop-interchange", - "Interchanges loops for cache reuse", false, false) -INITIALIZE_PASS_DEPENDENCY(LoopPass) -INITIALIZE_PASS_DEPENDENCY(DependenceAnalysisWrapperPass) -INITIALIZE_PASS_DEPENDENCY(OptimizationRemarkEmitterWrapperPass) - -INITIALIZE_PASS_END(LoopInterchangeLegacyPass, "loop-interchange", - "Interchanges loops for cache reuse", false, false) - -Pass *llvm::createLoopInterchangePass() { - return new LoopInterchangeLegacyPass(); -} - PreservedAnalyses LoopInterchangePass::run(LoopNest &LN, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp index 467b36d69b901..31b39128dd1c4 100644 --- a/llvm/lib/Transforms/Scalar/Scalar.cpp +++ b/llvm/lib/Transforms/Scalar/Scalar.cpp @@ -62,7 +62,6 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) { initializeLoopDeletionLegacyPassPass(Registry); initializeLoopAccessLegacyAnalysisPass(Registry); initializeLoopInstSimplifyLegacyPassPass(Registry); - initializeLoopInterchangeLegacyPassPass(Registry); initializeLoopFlattenLegacyPassPass(Registry); initializeLoopPredicationLegacyPassPass(Registry); initializeLoopRotateLegacyPassPass(Registry);