From 2c66b6ec09ddf30b49563ff8fd961e5edbfc0b88 Mon Sep 17 00:00:00 2001 From: Nicolas Vasilache Date: Fri, 4 Dec 2020 14:22:00 +0000 Subject: [PATCH] [mlir][Linalg] NFC - Expose tiling canonicalization patterns through a populate method --- mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h | 2 ++ mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h index 90c6a03..dc82569 100644 --- a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h +++ b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h @@ -387,6 +387,8 @@ struct LinalgTilingOptions { /// when tiling is called programmatically. OwningRewritePatternList getLinalgTilingCanonicalizationPatterns(MLIRContext *ctx); +void populateLinalgTilingCanonicalizationPatterns( + OwningRewritePatternList &patterns, MLIRContext *ctx); struct LinalgBaseTilingPattern : public RewritePattern { // Entry point to match any LinalgOp OpInterface. diff --git a/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp b/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp index 2fd7597..50a18d4 100644 --- a/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp @@ -554,6 +554,12 @@ public: OwningRewritePatternList mlir::linalg::getLinalgTilingCanonicalizationPatterns(MLIRContext *ctx) { OwningRewritePatternList patterns; + populateLinalgTilingCanonicalizationPatterns(patterns, ctx); + return patterns; +} + +void mlir::linalg::populateLinalgTilingCanonicalizationPatterns( + OwningRewritePatternList &patterns, MLIRContext *ctx) { AffineApplyOp::getCanonicalizationPatterns(patterns, ctx); AffineForOp::getCanonicalizationPatterns(patterns, ctx); AffineMinOp::getCanonicalizationPatterns(patterns, ctx); @@ -569,7 +575,6 @@ mlir::linalg::getLinalgTilingCanonicalizationPatterns(MLIRContext *ctx) { #define GET_OP_LIST #include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc" >::insert(patterns, ctx); - return patterns; } /// Populate the given list with patterns that apply Linalg tiling. -- 2.7.4