Skip to content

Commit 2b882f8

Browse files
committed
[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.
1 parent 8599cb0 commit 2b882f8

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,11 @@ struct DownscaleSizeOneWindowed2DConvolution final
776776
LinalgTransformationFilter filter;
777777
};
778778

779+
extern template struct DownscaleSizeOneWindowed2DConvolution<Conv2DNhwcHwcfOp,
780+
Conv1DNwcWcfOp>;
781+
extern template struct DownscaleSizeOneWindowed2DConvolution<Conv2DNchwFchwOp,
782+
Conv1DNcwFcwOp>;
783+
779784
/// Rewrites 2-D depthwise convolution ops with size-1 (w, kw) or (h, kh)
780785
/// dimensions into 1-D depthwise convolution ops.
781786
struct DownscaleDepthwiseConv2DNhwcHwcOp final

mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -920,6 +920,11 @@ FailureOr<Conv1DOp> DownscaleSizeOneWindowed2DConvolution<Conv2DOp, Conv1DOp>::
920920
return conv1DOp;
921921
}
922922

923+
template struct linalg::DownscaleSizeOneWindowed2DConvolution<Conv2DNhwcHwcfOp,
924+
Conv1DNwcWcfOp>;
925+
template struct linalg::DownscaleSizeOneWindowed2DConvolution<Conv2DNchwFchwOp,
926+
Conv1DNcwFcwOp>;
927+
923928
FailureOr<DepthwiseConv1DNwcWcOp>
924929
DownscaleDepthwiseConv2DNhwcHwcOp::returningMatchAndRewrite(
925930
DepthwiseConv2DNhwcHwcOp convOp, PatternRewriter &rewriter) const {

0 commit comments

Comments
 (0)