diff --git a/mlir/include/mlir/Dialect/Linalg/Passes.h b/mlir/include/mlir/Dialect/Linalg/Passes.h --- a/mlir/include/mlir/Dialect/Linalg/Passes.h +++ b/mlir/include/mlir/Dialect/Linalg/Passes.h @@ -97,11 +97,6 @@ const linalg::LinalgTransformationFilter &filter = linalg::LinalgTransformationFilter()); -/// Create a LinalgStrategyGeneralizePass. -std::unique_ptr> createLinalgStrategyGeneralizePass( - StringRef opName = "", const linalg::LinalgTransformationFilter &filter = - linalg::LinalgTransformationFilter()); - /// Create a LinalgStrategyDecomposePass. // TODO: if/when we need finer control add an `opName` parameter. std::unique_ptr> createLinalgStrategyDecomposePass( diff --git a/mlir/include/mlir/Dialect/Linalg/Passes.td b/mlir/include/mlir/Dialect/Linalg/Passes.td --- a/mlir/include/mlir/Dialect/Linalg/Passes.td +++ b/mlir/include/mlir/Dialect/Linalg/Passes.td @@ -210,19 +210,6 @@ ]; } -def LinalgStrategyGeneralizePass - : Pass<"linalg-strategy-generalize-pass", "func::FuncOp"> { - let summary = "Configurable pass to apply pattern-based generalization."; - let constructor = "mlir::createLinalgStrategyGeneralizePass()"; - let dependentDialects = ["linalg::LinalgDialect"]; - let options = [ - Option<"anchorFuncName", "anchor-func", "std::string", /*default=*/"", - "Which func op is the anchor to latch on.">, - Option<"anchorOpName", "anchor-op", "std::string", /*default=*/"", - "Which linalg op within the func is the anchor to latch on.">, - ]; -} - // TODO: if/when we need finer control add an anchorOp option. def LinalgStrategyDecomposePass : Pass<"linalg-strategy-decompose-pass", "func::FuncOp"> { diff --git a/mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp b/mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp @@ -142,38 +142,6 @@ LinalgTransformationFilter filter; }; -/// Configurable pass to apply pattern-based linalg generalization. -struct LinalgStrategyGeneralizePass - : public LinalgStrategyGeneralizePassBase { - - LinalgStrategyGeneralizePass() = default; - - LinalgStrategyGeneralizePass(StringRef opName, - LinalgTransformationFilter filter) - : filter(std::move(filter)) { - this->anchorOpName.setValue(opName.str()); - } - - void runOnOperation() override { - auto funcOp = getOperation(); - if (!anchorFuncName.empty() && funcOp.getName() != anchorFuncName) - return; - - RewritePatternSet generalizationPattern(funcOp.getContext()); - if (!anchorOpName.empty()) { - generalizationPattern.add( - anchorOpName, funcOp.getContext(), filter); - } else { - generalizationPattern.add( - funcOp.getContext(), filter); - } - if (failed(applyPatternsAndFoldGreedily(funcOp, - std::move(generalizationPattern)))) - signalPassFailure(); - } - - LinalgTransformationFilter filter; -}; /// Configurable pass to apply lowering of coarser-grained named linalg ops into /// finer-grained named versions. @@ -445,13 +413,6 @@ return std::make_unique(opName, opt, filter); } -/// Create a LinalgStrategyGeneralizePass. -std::unique_ptr> -mlir::createLinalgStrategyGeneralizePass( - StringRef opName, const LinalgTransformationFilter &filter) { - return std::make_unique(opName, filter); -} - /// Create a LinalgStrategyDecomposePass. // TODO: if/when we need finer control add an `opName` parameter. std::unique_ptr>