-
Notifications
You must be signed in to change notification settings - Fork 11.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[NewPM] Remove ScalarizerLegacyPass #72814
[NewPM] Remove ScalarizerLegacyPass #72814
Conversation
@llvm/pr-subscribers-llvm-transforms Author: Aiden Grossman (boomanaiden154) ChangesThis pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it. Full diff: https://github.com/llvm/llvm-project/pull/72814.diff 5 Files Affected:
diff --git a/llvm/include/llvm/InitializePasses.h b/llvm/include/llvm/InitializePasses.h
index da38a38b87ebc4d..be9aca34cb3708b 100644
--- a/llvm/include/llvm/InitializePasses.h
+++ b/llvm/include/llvm/InitializePasses.h
@@ -293,7 +293,6 @@ void initializeSafepointIRVerifierPass(PassRegistry&);
void initializeSelectOptimizePass(PassRegistry &);
void initializeScalarEvolutionWrapperPassPass(PassRegistry&);
void initializeScalarizeMaskedMemIntrinLegacyPassPass(PassRegistry &);
-void initializeScalarizerLegacyPassPass(PassRegistry&);
void initializeScavengerTestPass(PassRegistry&);
void initializeScopedNoAliasAAWrapperPassPass(PassRegistry&);
void initializeSeparateConstOffsetFromGEPLegacyPassPass(PassRegistry &);
diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
index 3fc90e85c3533e2..06dea0900ce11bc 100644
--- a/llvm/include/llvm/LinkAllPasses.h
+++ b/llvm/include/llvm/LinkAllPasses.h
@@ -141,7 +141,6 @@ namespace {
(void) llvm::createLowerAtomicPass();
(void) llvm::createLoadStoreVectorizerPass();
(void) llvm::createPartiallyInlineLibCallsPass();
- (void) llvm::createScalarizerPass();
(void) llvm::createSeparateConstOffsetFromGEPPass();
(void) llvm::createSpeculativeExecutionPass();
(void) llvm::createSpeculativeExecutionIfHasBranchDivergencePass();
diff --git a/llvm/include/llvm/Transforms/Scalar/Scalarizer.h b/llvm/include/llvm/Transforms/Scalar/Scalarizer.h
index 5524b55b81b58a3..c2d9151b4971075 100644
--- a/llvm/include/llvm/Transforms/Scalar/Scalarizer.h
+++ b/llvm/include/llvm/Transforms/Scalar/Scalarizer.h
@@ -51,10 +51,6 @@ class ScalarizerPass : public PassInfoMixin<ScalarizerPass> {
void setScalarizeLoadStore(bool Value) { Options.ScalarizeLoadStore = Value; }
void setScalarizeMinBits(unsigned Value) { Options.ScalarizeMinBits = Value; }
};
-
-/// Create a legacy pass manager instance of the Scalarizer pass
-FunctionPass *createScalarizerPass();
-
}
#endif /* LLVM_TRANSFORMS_SCALAR_SCALARIZER_H */
diff --git a/llvm/lib/Transforms/Scalar/Scalar.cpp b/llvm/lib/Transforms/Scalar/Scalar.cpp
index 11bb8e936b74e7c..f6f4c27bb551d09 100644
--- a/llvm/lib/Transforms/Scalar/Scalar.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalar.cpp
@@ -21,7 +21,6 @@ using namespace llvm;
void llvm::initializeScalarOpts(PassRegistry &Registry) {
initializeConstantHoistingLegacyPassPass(Registry);
initializeDCELegacyPassPass(Registry);
- initializeScalarizerLegacyPassPass(Registry);
initializeGuardWideningLegacyPassPass(Registry);
initializeLoopGuardWideningLegacyPassPass(Registry);
initializeGVNLegacyPassPass(Registry);
diff --git a/llvm/lib/Transforms/Scalar/Scalarizer.cpp b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
index f5e480ae36bf42c..3eca9ac7c2673be 100644
--- a/llvm/lib/Transforms/Scalar/Scalarizer.cpp
+++ b/llvm/lib/Transforms/Scalar/Scalarizer.cpp
@@ -36,8 +36,6 @@
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
-#include "llvm/InitializePasses.h"
-#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Utils/Local.h"
@@ -342,31 +340,8 @@ class ScalarizerVisitor : public InstVisitor<ScalarizerVisitor, bool> {
const unsigned ScalarizeMinBits;
};
-class ScalarizerLegacyPass : public FunctionPass {
-public:
- static char ID;
-
- ScalarizerLegacyPass() : FunctionPass(ID) {
- initializeScalarizerLegacyPassPass(*PassRegistry::getPassRegistry());
- }
-
- bool runOnFunction(Function &F) override;
-
- void getAnalysisUsage(AnalysisUsage& AU) const override {
- AU.addRequired<DominatorTreeWrapperPass>();
- AU.addPreserved<DominatorTreeWrapperPass>();
- }
-};
-
} // end anonymous namespace
-char ScalarizerLegacyPass::ID = 0;
-INITIALIZE_PASS_BEGIN(ScalarizerLegacyPass, "scalarizer",
- "Scalarize vector operations", false, false)
-INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
-INITIALIZE_PASS_END(ScalarizerLegacyPass, "scalarizer",
- "Scalarize vector operations", false, false)
-
Scatterer::Scatterer(BasicBlock *bb, BasicBlock::iterator bbi, Value *v,
const VectorSplit &VS, ValueVector *cachePtr)
: BB(bb), BBI(bbi), V(v), VS(VS), CachePtr(cachePtr) {
@@ -439,19 +414,6 @@ Value *Scatterer::operator[](unsigned Frag) {
return CV[Frag];
}
-bool ScalarizerLegacyPass::runOnFunction(Function &F) {
- if (skipFunction(F))
- return false;
-
- DominatorTree *DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree();
- ScalarizerVisitor Impl(DT, ScalarizerPassOptions());
- return Impl.visit(F);
-}
-
-FunctionPass *llvm::createScalarizerPass() {
- return new ScalarizerLegacyPass();
-}
-
bool ScalarizerVisitor::visit(Function &F) {
assert(Gathered.empty() && Scattered.empty());
|
You can test this locally with the following command:git-clang-format --diff 4671f18906ad2149df1720b5a0513f23f17abde1 0e7b26d2a16a36c95c9650dcb1da0944bc038e3c -- llvm/include/llvm/InitializePasses.h llvm/include/llvm/LinkAllPasses.h llvm/include/llvm/Transforms/Scalar/Scalarizer.h llvm/lib/Transforms/Scalar/Scalar.cpp llvm/lib/Transforms/Scalar/Scalarizer.cpp View the diff from clang-format here.diff --git a/llvm/include/llvm/LinkAllPasses.h b/llvm/include/llvm/LinkAllPasses.h
index 0d15481034..03230f3903 100644
--- a/llvm/include/llvm/LinkAllPasses.h
+++ b/llvm/include/llvm/LinkAllPasses.h
@@ -135,7 +135,7 @@ namespace {
(void) llvm::createSinkingPass();
(void) llvm::createLowerAtomicPass();
(void) llvm::createLoadStoreVectorizerPass();
- (void) llvm::createPartiallyInlineLibCallsPass();
+ (void)llvm::createPartiallyInlineLibCallsPass();
(void) llvm::createSeparateConstOffsetFromGEPPass();
(void) llvm::createSpeculativeExecutionPass();
(void) llvm::createSpeculativeExecutionIfHasBranchDivergencePass();
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it.
2c647ea
to
0e7b26d
Compare
This pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it.
This pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it.
This pass isn't used anywhere upstream and thus has no test coverage. Because of these reasons, remove it.