[Mlir-commits] [mlir] [NFC][Linalg] Introduce ConvMatchBuilder + refactor Conv matchers (PR #169704)

Andrzej WarzyƄski llvmlistbot at llvm.org
Sun Nov 30 09:15:21 PST 2025


================
@@ -434,6 +430,91 @@ static bool convLayoutMatches(ArrayRef<ArrayRef<AffineExpr>> mapListExpected,
                           })));
 }
 
+/// Enum of all kinds of Pooling Op's type.
+enum PoolingType {
+  NONE,
+  MAX_SIGNED,
+  MAX_UNSIGNED,
+  MIN_SIGNED,
+  MIN_UNSIGNED,
+  SUM
+};
+
+/// Helper class for building convolution op matchers with minimal boilerplate.
+/// Reduces repetitive code across Conv1D/2D/3D and Depthwise variants as well
+/// as Pooling ops.
----------------
banach-space wrote:

Could you expand the documentation a bit? It's not clear how this class in meant to be used (e.g., why initialise `matched` to `true`)? What do `dilations` and `strides` member variables represent? If `op` is a convolution then that will already contain strides and dilations, right?

https://github.com/llvm/llvm-project/pull/169704


More information about the Mlir-commits mailing list