[llvm] [NewPM] Remove LoopSimplifyCFGLegacyPass (PR #72930)
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 20 16:52:23 PST 2023
https://github.com/boomanaiden154 created https://github.com/llvm/llvm-project/pull/72930
This pass isn't used anywhere in upstream and thus has no test coverage. For these reasons, remove it.
>From 080107b7a38650b54a52b0ae9f3b4a98bc1f6fdd Mon Sep 17 00:00:00 2001
From: Aiden Grossman <agrossman154 at yahoo.com>
Date: Mon, 20 Nov 2023 16:50:39 -0800
Subject: [PATCH] [NewPM] Remove LoopSimplifyCFGLegacyPass
This pass isn't used anywhere in upstream and thus has no test coverage.
For these reasons, remove it.
---
llvm/include/llvm/InitializePasses.h | 1 -
llvm/include/llvm/LinkAllPasses.h | 1 -
llvm/include/llvm/Transforms/Scalar.h | 7 ---
.../lib/Transforms/Scalar/LoopSimplifyCFG.cpp | 51 -------------------
llvm/lib/Transforms/Scalar/Scalar.cpp | 1 -
5 files changed, 61 deletions(-)
diff --git a/llvm/include/llvm/InitializePasses.h b/llvm/include/llvm/InitializePasses.h
index 2305db4f775d49c..b3da080dba5a76a 100644
--- a/llvm/include/llvm/InitializePasses.h
+++ b/llvm/include/llvm/InitializePasses.h
@@ -177,7 +177,6 @@ void initializeLoopInfoWrapperPassPass(PassRegistry&);
void initializeLoopPassPass(PassRegistry&);
void initializeLoopPredicationLegacyPassPass(PassRegistry&);
void initializeLoopRotateLegacyPassPass(PassRegistry&);
-void initializeLoopSimplifyCFGLegacyPassPass(PassRegistry&);
void initializeLoopSimplifyPass(PassRegistry&);
void initializeLoopStrengthReducePass(PassRegistry&);
void initializeLoopUnrollPass(PassRegistry&);
diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
index 0d15481034151df..51cd21f73cd8c3a 100644
--- a/llvm/include/llvm/LinkAllPasses.h
+++ b/llvm/include/llvm/LinkAllPasses.h
@@ -90,7 +90,6 @@ namespace {
(void) llvm::createLoopExtractorPass();
(void) llvm::createLoopPredicationPass();
(void) llvm::createLoopSimplifyPass();
- (void) llvm::createLoopSimplifyCFGPass();
(void) llvm::createLoopStrengthReducePass();
(void) llvm::createLoopUnrollPass();
(void) llvm::createLoopRotatePass();
diff --git a/llvm/include/llvm/Transforms/Scalar.h b/llvm/include/llvm/Transforms/Scalar.h
index 111e5446603d26b..bff533b09ff28ba 100644
--- a/llvm/include/llvm/Transforms/Scalar.h
+++ b/llvm/include/llvm/Transforms/Scalar.h
@@ -237,13 +237,6 @@ FunctionPass *createNaryReassociatePass();
//
FunctionPass *createLoopDataPrefetchPass();
-//===----------------------------------------------------------------------===//
-//
-// LoopSimplifyCFG - This pass performs basic CFG simplification on loops,
-// primarily to help other loop passes.
-//
-Pass *createLoopSimplifyCFGPass();
-
//===----------------------------------------------------------------------===//
//
// This pass does instruction simplification on each
diff --git a/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp b/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
index 8d59fdff9236f84..028a487ecdbc283 100644
--- a/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
@@ -20,13 +20,11 @@
#include "llvm/Analysis/DomTreeUpdater.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/LoopIterator.h"
-#include "llvm/Analysis/LoopPass.h"
#include "llvm/Analysis/MemorySSA.h"
#include "llvm/Analysis/MemorySSAUpdater.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IRBuilder.h"
-#include "llvm/InitializePasses.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/LoopPassManager.h"
@@ -734,52 +732,3 @@ PreservedAnalyses LoopSimplifyCFGPass::run(Loop &L, LoopAnalysisManager &AM,
PA.preserve<MemorySSAAnalysis>();
return PA;
}
-
-namespace {
-class LoopSimplifyCFGLegacyPass : public LoopPass {
-public:
- static char ID; // Pass ID, replacement for typeid
- LoopSimplifyCFGLegacyPass() : LoopPass(ID) {
- initializeLoopSimplifyCFGLegacyPassPass(*PassRegistry::getPassRegistry());
- }
-
- bool runOnLoop(Loop *L, LPPassManager &LPM) override {
- if (skipLoop(L))
- return false;
-
- DominatorTree &DT = getAnalysis<DominatorTreeWrapperPass>().getDomTree();
- LoopInfo &LI = getAnalysis<LoopInfoWrapperPass>().getLoopInfo();
- ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE();
- auto *MSSAA = getAnalysisIfAvailable<MemorySSAWrapperPass>();
- std::optional<MemorySSAUpdater> MSSAU;
- if (MSSAA)
- MSSAU = MemorySSAUpdater(&MSSAA->getMSSA());
- if (MSSAA && VerifyMemorySSA)
- MSSAU->getMemorySSA()->verifyMemorySSA();
- bool DeleteCurrentLoop = false;
- bool Changed = simplifyLoopCFG(*L, DT, LI, SE, MSSAU ? &*MSSAU : nullptr,
- DeleteCurrentLoop);
- if (DeleteCurrentLoop)
- LPM.markLoopAsDeleted(*L);
- return Changed;
- }
-
- void getAnalysisUsage(AnalysisUsage &AU) const override {
- AU.addPreserved<MemorySSAWrapperPass>();
- AU.addPreserved<DependenceAnalysisWrapperPass>();
- getLoopAnalysisUsage(AU);
- }
-};
-} // end namespace
-
-char LoopSimplifyCFGLegacyPass::ID = 0;
-INITIALIZE_PASS_BEGIN(LoopSimplifyCFGLegacyPass, "loop-simplifycfg",
- "Simplify loop CFG", false, false)
-INITIALIZE_PASS_DEPENDENCY(LoopPass)
-INITIALIZE_PASS_DEPENDENCY(MemorySSAWrapperPass)
-INITIALIZE_PASS_END(LoopSimplifyCFGLegacyPass, "loop-simplifycfg",
- "Simplify loop CFG", false, false)
-
-Pass *llvm::createLoopSimplifyCFGPass() {
- return new LoopSimplifyCFGLegacyPass();
-}
diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp
index 80db06b03a901b3..bc69fc0483e09a5 100644
--- a/llvm/lib/Transforms/Scalar/Scalar.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalar.cpp
@@ -55,5 +55,4 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) {
initializeSpeculativeExecutionLegacyPassPass(Registry);
initializeStraightLineStrengthReduceLegacyPassPass(Registry);
initializePlaceBackedgeSafepointsLegacyPassPass(Registry);
- initializeLoopSimplifyCFGLegacyPassPass(Registry);
}
More information about the llvm-commits
mailing list