diff --git a/mlir/include/mlir/Dialect/Linalg/Passes.td b/mlir/include/mlir/Dialect/Linalg/Passes.td index 0b2c9c94dc73d..44da2965e6892 100644 --- a/mlir/include/mlir/Dialect/Linalg/Passes.td +++ b/mlir/include/mlir/Dialect/Linalg/Passes.td @@ -86,13 +86,13 @@ def LinalgSpecializeGenericOpsPass : Pass<"linalg-specialize-generic-ops">, let dependentDialects = ["linalg::LinalgDialect"]; } -def LinalgNamedOpConversionPass: Pass<"linalg-named-op-conversion"> { - let summary = "Convert from one named linalg op to another."; +// ------------------ End of "form" conversions + +def SimplifyDepthwiseConvPass: Pass<"simplify-depthwise-conv"> { + let summary = "Simplify depthwise convolution."; let dependentDialects = ["linalg::LinalgDialect", "tensor::TensorDialect"]; } -// ------------------ End of "form" conversions - def ConvertElementwiseToLinalgPass : Pass<"convert-elementwise-to-linalg", ""> { let summary = "Convert ElementwiseMappable ops to linalg"; let description = [{ diff --git a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h index 8d5306dca43e3..0cfc8821c0add 100644 --- a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h +++ b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h @@ -1962,9 +1962,8 @@ void populateFoldAddIntoDestPatterns(RewritePatternSet &patterns); void populateFuseTensorPadWithProducerLinalgOpPatterns( RewritePatternSet &patterns); -/// Patterns to convert from one named op to another. These can be seen as -/// canonicalizations of named ops into another named op. -void populateLinalgNamedOpConversionPatterns(RewritePatternSet &patterns); +/// Patterns to simplify depthwise convolutions. +void populateSimplifyDepthwiseConvPatterns(RewritePatternSet &patterns); /// Patterns to fold unit-extent dimensions in operands/results of linalg ops on /// tensors via reassociative reshape ops. diff --git a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt index 6ec2e9fd0be7d..fb39e18691e03 100644 --- a/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt +++ b/mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt @@ -26,7 +26,7 @@ add_mlir_dialect_library(MLIRLinalgTransforms MorphOps.cpp TransposeMatmul.cpp ShardingInterfaceImpl.cpp - NamedOpConversions.cpp + SimplifyDepthwiseConv.cpp NamedToElementwise.cpp BlockPackMatmul.cpp PackAndUnpackPatterns.cpp diff --git a/mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp b/mlir/lib/Dialect/Linalg/Transforms/SimplifyDepthwiseConv.cpp similarity index 93% rename from mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp rename to mlir/lib/Dialect/Linalg/Transforms/SimplifyDepthwiseConv.cpp index a2bd9d92815a0..27ccf3c2ba148 100644 --- a/mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/SimplifyDepthwiseConv.cpp @@ -21,7 +21,7 @@ #include "llvm/ADT/TypeSwitch.h" namespace mlir { -#define GEN_PASS_DEF_LINALGNAMEDOPCONVERSIONPASS +#define GEN_PASS_DEF_SIMPLIFYDEPTHWISECONVPASS #include "mlir/Dialect/Linalg/Passes.h.inc" } // namespace mlir @@ -143,23 +143,22 @@ struct SimplifyDepthwiseConvQOp } }; -struct LinalgNamedOpConversionPass - : public impl::LinalgNamedOpConversionPassBase< - LinalgNamedOpConversionPass> { - using impl::LinalgNamedOpConversionPassBase< - LinalgNamedOpConversionPass>::LinalgNamedOpConversionPassBase; +struct SimplifyDepthwiseConvPass + : public impl::SimplifyDepthwiseConvPassBase { + using impl::SimplifyDepthwiseConvPassBase< + SimplifyDepthwiseConvPass>::SimplifyDepthwiseConvPassBase; void runOnOperation() override { Operation *op = getOperation(); RewritePatternSet patterns(op->getContext()); - populateLinalgNamedOpConversionPatterns(patterns); + populateSimplifyDepthwiseConvPatterns(patterns); if (failed(applyPatternsGreedily(op, std::move(patterns)))) return signalPassFailure(); } }; } // namespace -void mlir::linalg::populateLinalgNamedOpConversionPatterns( +void mlir::linalg::populateSimplifyDepthwiseConvPatterns( RewritePatternSet &patterns) { patterns.add( patterns.getContext()); diff --git a/mlir/test/Dialect/Linalg/namedop_conversion.mlir b/mlir/test/Dialect/Linalg/simplify-depthwise-conv.mlir similarity index 96% rename from mlir/test/Dialect/Linalg/namedop_conversion.mlir rename to mlir/test/Dialect/Linalg/simplify-depthwise-conv.mlir index 4f2f2720037cd..70e68e787242e 100644 --- a/mlir/test/Dialect/Linalg/namedop_conversion.mlir +++ b/mlir/test/Dialect/Linalg/simplify-depthwise-conv.mlir @@ -1,4 +1,4 @@ -// RUN: mlir-opt %s -linalg-named-op-conversion -split-input-file | FileCheck %s +// RUN: mlir-opt %s --simplify-depthwise-conv -split-input-file | FileCheck %s // CHECK-LABEL: @depthwise_conv func.func @depthwise_conv(%arg0: tensor, %arg1: tensor, %arg2: tensor) -> tensor {