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 createReductionTreePass(); - -std::unique_ptr 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..fbbe75d303883 100644 --- a/mlir/lib/Reducer/OptReductionPass.cpp +++ b/mlir/lib/Reducer/OptReductionPass.cpp @@ -16,10 +16,11 @@ #include "mlir/Pass/PassRegistry.h" #include "mlir/Reducer/Passes.h" #include "mlir/Reducer/Tester.h" + #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 +30,10 @@ using namespace mlir; namespace { -class OptReductionPass : public impl::OptReductionBase { +class OptReductionPass : public impl::OptReductionPassBase { public: + using Base::Base; + /// Runs the pass instance in the pass pipeline. void runOnOperation() override; }; @@ -85,8 +88,4 @@ void OptReductionPass::runOnOperation() { moduleVariant->destroy(); LLVM_DEBUG(llvm::dbgs() << "Pass Complete\n\n"); -} - -std::unique_ptr mlir::createOptReductionPass() { - return std::make_unique(); -} +} \ 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 { +class ReductionTreePass + : public impl::ReductionTreePassBase { 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 mlir::createReductionTreePass() { - return std::make_unique(); -}