From 2b882f844e41f02ad0569062d1f1e02d91ad6ba2 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Mon, 12 Sep 2022 18:46:35 +0200 Subject: [PATCH] [mlir][linalg] Explicitly instantiate DownscaleSizeOneWindowed2DConvolution It's not possible to use a template with no definition from another translation unit. Fixes the shared library build. --- mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h | 5 +++++ mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h index e6a1b07..9586815 100644 --- a/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h +++ b/mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h @@ -776,6 +776,11 @@ private: LinalgTransformationFilter filter; }; +extern template struct DownscaleSizeOneWindowed2DConvolution; +extern template struct DownscaleSizeOneWindowed2DConvolution; + /// Rewrites 2-D depthwise convolution ops with size-1 (w, kw) or (h, kh) /// dimensions into 1-D depthwise convolution ops. struct DownscaleDepthwiseConv2DNhwcHwcOp final diff --git a/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp b/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp index 1c4ceaa..31136dd 100644 --- a/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @@ -920,6 +920,11 @@ FailureOr DownscaleSizeOneWindowed2DConvolution:: return conv1DOp; } +template struct linalg::DownscaleSizeOneWindowed2DConvolution; +template struct linalg::DownscaleSizeOneWindowed2DConvolution; + FailureOr DownscaleDepthwiseConv2DNhwcHwcOp::returningMatchAndRewrite( DepthwiseConv2DNhwcHwcOp convOp, PatternRewriter &rewriter) const { -- 2.7.4