[Mlir-commits] [mlir] [MLIR][NFC] Retire let constructor for Reducer (PR #134786)
lorenzo chelini
llvmlistbot at llvm.org
Mon Apr 7 21:54:35 PDT 2025
https://github.com/chelini created https://github.com/llvm/llvm-project/pull/134786
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
>From 814f310860321b161b51eb130ac53364a90edea5 Mon Sep 17 00:00:00 2001
From: lorenzo chelini <lchelini at nvidia.com>
Date: Wed, 5 Mar 2025 07:32:38 +0100
Subject: [PATCH] [MLIR][NFC] Retire let constructor for Reducer
---
mlir/include/mlir/Reducer/Passes.h | 4 ----
mlir/include/mlir/Reducer/Passes.td | 8 ++------
mlir/lib/Reducer/OptReductionPass.cpp | 12 +++++-------
mlir/lib/Reducer/ReductionTreePass.cpp | 12 ++++--------
4 files changed, 11 insertions(+), 25 deletions(-)
diff --git a/mlir/include/mlir/Reducer/Passes.h b/mlir/include/mlir/Reducer/Passes.h
index 474d87a37fc3c..d961737aaffae 100644
--- a/mlir/include/mlir/Reducer/Passes.h
+++ b/mlir/include/mlir/Reducer/Passes.h
@@ -15,10 +15,6 @@ namespace mlir {
#define GEN_PASS_DECL
#include "mlir/Reducer/Passes.h.inc"
-std::unique_ptr<Pass> createReductionTreePass();
-
-std::unique_ptr<Pass> createOptReductionPass();
-
/// Generate the code for registering reducer passes.
#define GEN_PASS_REGISTRATION
#include "mlir/Reducer/Passes.h.inc"
diff --git a/mlir/include/mlir/Reducer/Passes.td b/mlir/include/mlir/Reducer/Passes.td
index cf89176106050..624e2e1edc329 100644
--- a/mlir/include/mlir/Reducer/Passes.td
+++ b/mlir/include/mlir/Reducer/Passes.td
@@ -24,11 +24,9 @@ def CommonReductionPassOptions {
];
}
-def ReductionTree : Pass<"reduction-tree"> {
+def ReductionTreePass : Pass<"reduction-tree"> {
let summary = "Reduce the input with reduction-tree algorithm";
- let constructor = "mlir::createReductionTreePass()";
-
let options = [
Option<"traversalModeId", "traversal-mode", "unsigned",
/* default */"0",
@@ -36,11 +34,9 @@ def ReductionTree : Pass<"reduction-tree"> {
] # CommonReductionPassOptions.options;
}
-def OptReduction : Pass<"opt-reduction-pass", "ModuleOp"> {
+def OptReductionPass : Pass<"opt-reduction-pass", "ModuleOp"> {
let summary = "A wrapper pass that reduces the file with optimization passes";
- let constructor = "mlir::createOptReductionPass()";
-
let options = [
Option<"optPass", "opt-pass", "std::string", /* default */"",
"The optimization passes used for reduction, e.g., symbol-dce">,
diff --git a/mlir/lib/Reducer/OptReductionPass.cpp b/mlir/lib/Reducer/OptReductionPass.cpp
index 8618de5eeee7b..358753b1168d2 100644
--- a/mlir/lib/Reducer/OptReductionPass.cpp
+++ b/mlir/lib/Reducer/OptReductionPass.cpp
@@ -19,7 +19,7 @@
#include "llvm/Support/Debug.h"
namespace mlir {
-#define GEN_PASS_DEF_OPTREDUCTION
+#define GEN_PASS_DEF_OPTREDUCTIONPASS
#include "mlir/Reducer/Passes.h.inc"
} // namespace mlir
@@ -29,8 +29,10 @@ using namespace mlir;
namespace {
-class OptReductionPass : public impl::OptReductionBase<OptReductionPass> {
+class OptReductionPass : public impl::OptReductionPassBase<OptReductionPass> {
public:
+ using Base::Base;
+
/// Runs the pass instance in the pass pipeline.
void runOnOperation() override;
};
@@ -85,8 +87,4 @@ void OptReductionPass::runOnOperation() {
moduleVariant->destroy();
LLVM_DEBUG(llvm::dbgs() << "Pass Complete\n\n");
-}
-
-std::unique_ptr<Pass> mlir::createOptReductionPass() {
- return std::make_unique<OptReductionPass>();
-}
+}
\ No newline at end of file
diff --git a/mlir/lib/Reducer/ReductionTreePass.cpp b/mlir/lib/Reducer/ReductionTreePass.cpp
index ef32adbab5577..7292752c712ae 100644
--- a/mlir/lib/Reducer/ReductionTreePass.cpp
+++ b/mlir/lib/Reducer/ReductionTreePass.cpp
@@ -29,7 +29,7 @@
#include "llvm/Support/ManagedStatic.h"
namespace mlir {
-#define GEN_PASS_DEF_REDUCTIONTREE
+#define GEN_PASS_DEF_REDUCTIONTREEPASS
#include "mlir/Reducer/Passes.h.inc"
} // namespace mlir
@@ -191,10 +191,10 @@ class ReductionPatternInterfaceCollection
/// This class defines the Reduction Tree Pass. It provides a framework to
/// to implement a reduction pass using a tree structure to keep track of the
/// generated reduced variants.
-class ReductionTreePass : public impl::ReductionTreeBase<ReductionTreePass> {
+class ReductionTreePass
+ : public impl::ReductionTreePassBase<ReductionTreePass> {
public:
- ReductionTreePass() = default;
- ReductionTreePass(const ReductionTreePass &pass) = default;
+ using Base::Base;
LogicalResult initialize(MLIRContext *context) override;
@@ -256,7 +256,3 @@ LogicalResult ReductionTreePass::reduceOp(ModuleOp module, Region ®ion) {
return module.emitError() << "unsupported traversal mode detected";
}
}
-
-std::unique_ptr<Pass> mlir::createReductionTreePass() {
- return std::make_unique<ReductionTreePass>();
-}
More information about the Mlir-commits
mailing list