Skip to content

Commit e7365d3

Browse files
authored
[MLIR][NFC] Retire let constructor for Reducer (#134786)
let constructor is legacy (do not use in tree!) since the tableGen backend emits most of the glue logic to build a pass.
1 parent 87a187c commit e7365d3

File tree

4 files changed

+12
-25
lines changed

4 files changed

+12
-25
lines changed

mlir/include/mlir/Reducer/Passes.h

-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ namespace mlir {
1515
#define GEN_PASS_DECL
1616
#include "mlir/Reducer/Passes.h.inc"
1717

18-
std::unique_ptr<Pass> createReductionTreePass();
19-
20-
std::unique_ptr<Pass> createOptReductionPass();
21-
2218
/// Generate the code for registering reducer passes.
2319
#define GEN_PASS_REGISTRATION
2420
#include "mlir/Reducer/Passes.h.inc"

mlir/include/mlir/Reducer/Passes.td

+2-6
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,19 @@ def CommonReductionPassOptions {
2424
];
2525
}
2626

27-
def ReductionTree : Pass<"reduction-tree"> {
27+
def ReductionTreePass : Pass<"reduction-tree"> {
2828
let summary = "Reduce the input with reduction-tree algorithm";
2929

30-
let constructor = "mlir::createReductionTreePass()";
31-
3230
let options = [
3331
Option<"traversalModeId", "traversal-mode", "unsigned",
3432
/* default */"0",
3533
"The graph traversal mode, the default is single-path mode">,
3634
] # CommonReductionPassOptions.options;
3735
}
3836

39-
def OptReduction : Pass<"opt-reduction-pass", "ModuleOp"> {
37+
def OptReductionPass : Pass<"opt-reduction-pass", "ModuleOp"> {
4038
let summary = "A wrapper pass that reduces the file with optimization passes";
4139

42-
let constructor = "mlir::createOptReductionPass()";
43-
4440
let options = [
4541
Option<"optPass", "opt-pass", "std::string", /* default */"",
4642
"The optimization passes used for reduction, e.g., symbol-dce">,

mlir/lib/Reducer/OptReductionPass.cpp

+6-7
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616
#include "mlir/Pass/PassRegistry.h"
1717
#include "mlir/Reducer/Passes.h"
1818
#include "mlir/Reducer/Tester.h"
19+
1920
#include "llvm/Support/Debug.h"
2021

2122
namespace mlir {
22-
#define GEN_PASS_DEF_OPTREDUCTION
23+
#define GEN_PASS_DEF_OPTREDUCTIONPASS
2324
#include "mlir/Reducer/Passes.h.inc"
2425
} // namespace mlir
2526

@@ -29,8 +30,10 @@ using namespace mlir;
2930

3031
namespace {
3132

32-
class OptReductionPass : public impl::OptReductionBase<OptReductionPass> {
33+
class OptReductionPass : public impl::OptReductionPassBase<OptReductionPass> {
3334
public:
35+
using Base::Base;
36+
3437
/// Runs the pass instance in the pass pipeline.
3538
void runOnOperation() override;
3639
};
@@ -85,8 +88,4 @@ void OptReductionPass::runOnOperation() {
8588
moduleVariant->destroy();
8689

8790
LLVM_DEBUG(llvm::dbgs() << "Pass Complete\n\n");
88-
}
89-
90-
std::unique_ptr<Pass> mlir::createOptReductionPass() {
91-
return std::make_unique<OptReductionPass>();
92-
}
91+
}

mlir/lib/Reducer/ReductionTreePass.cpp

+4-8
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "llvm/Support/ManagedStatic.h"
3030

3131
namespace mlir {
32-
#define GEN_PASS_DEF_REDUCTIONTREE
32+
#define GEN_PASS_DEF_REDUCTIONTREEPASS
3333
#include "mlir/Reducer/Passes.h.inc"
3434
} // namespace mlir
3535

@@ -191,10 +191,10 @@ class ReductionPatternInterfaceCollection
191191
/// This class defines the Reduction Tree Pass. It provides a framework to
192192
/// to implement a reduction pass using a tree structure to keep track of the
193193
/// generated reduced variants.
194-
class ReductionTreePass : public impl::ReductionTreeBase<ReductionTreePass> {
194+
class ReductionTreePass
195+
: public impl::ReductionTreePassBase<ReductionTreePass> {
195196
public:
196-
ReductionTreePass() = default;
197-
ReductionTreePass(const ReductionTreePass &pass) = default;
197+
using Base::Base;
198198

199199
LogicalResult initialize(MLIRContext *context) override;
200200

@@ -256,7 +256,3 @@ LogicalResult ReductionTreePass::reduceOp(ModuleOp module, Region &region) {
256256
return module.emitError() << "unsupported traversal mode detected";
257257
}
258258
}
259-
260-
std::unique_ptr<Pass> mlir::createReductionTreePass() {
261-
return std::make_unique<ReductionTreePass>();
262-
}

0 commit comments

Comments
 (0)