From a0514338b808e604738805783fd57485dd196850 Mon Sep 17 00:00:00 2001 From: Nicolas Vasilache Date: Wed, 15 May 2019 00:53:01 -0700 Subject: [PATCH] Make Linalg tiling a FunctionPass instead of a ModulePass - NFC -- PiperOrigin-RevId: 248286354 --- mlir/include/mlir/Linalg/Passes.h | 4 ++-- mlir/lib/Linalg/Transforms/Tiling.cpp | 9 +++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/mlir/include/mlir/Linalg/Passes.h b/mlir/include/mlir/Linalg/Passes.h index 2825139..0e3a86b 100644 --- a/mlir/include/mlir/Linalg/Passes.h +++ b/mlir/include/mlir/Linalg/Passes.h @@ -26,13 +26,13 @@ #include "llvm/ADT/ArrayRef.h" namespace mlir { +class FunctionPassBase; class ModulePassBase; namespace linalg { -ModulePassBase *createLinalgTilingPass(ArrayRef tileSizes = {}); +FunctionPassBase *createLinalgTilingPass(ArrayRef tileSizes = {}); ModulePassBase *createLowerLinalgToLLVMPass(); - } // namespace linalg } // namespace mlir diff --git a/mlir/lib/Linalg/Transforms/Tiling.cpp b/mlir/lib/Linalg/Transforms/Tiling.cpp index ff6f02f..483b6d3 100644 --- a/mlir/lib/Linalg/Transforms/Tiling.cpp +++ b/mlir/lib/Linalg/Transforms/Tiling.cpp @@ -331,14 +331,11 @@ static void tileLinalgOps(Function &f, ArrayRef tileSizes) { } namespace { -struct LinalgTilingPass : public ModulePass { +struct LinalgTilingPass : public FunctionPass { LinalgTilingPass(); LinalgTilingPass(ArrayRef sizes); - void runOnModule() { - for (auto &f : getModule()) - tileLinalgOps(f, tileSizes); - } + void runOnFunction() { tileLinalgOps(getFunction(), tileSizes); } SmallVector tileSizes; }; @@ -353,7 +350,7 @@ LinalgTilingPass::LinalgTilingPass(ArrayRef sizes) this->tileSizes.assign(sizes.begin(), sizes.end()); } -ModulePassBase * +FunctionPassBase * mlir::linalg::createLinalgTilingPass(ArrayRef tileSizes) { return new LinalgTilingPass(tileSizes); } -- 2.7.4