[Mlir-commits] [mlir] [Linalg] Add basic infra to add matchers for linalg.*conv*/*pool* ops (PR #163724)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Thu Nov 6 07:26:55 PST 2025
================
@@ -240,6 +240,555 @@ bool isReductionIterator(utils::IteratorType iteratorType) {
return iteratorType == utils::IteratorType::reduction;
}
+//===----------------------------------------------------------------------===//
+// Convolution matcher utilities
+//===----------------------------------------------------------------------===//
+
+/// Returns the BlockArgument that leads to `val`, if any. Traverses optional
+/// ext* ops.
+static BlockArgument getBlockArgumentWithOptionalExtOps(Value val) {
+ BlockArgument blockArg;
+ if (!(blockArg = dyn_cast<BlockArgument>(val))) {
+ Operation *defOp = val.getDefiningOp();
+ if (!dyn_cast_if_present<arith::ExtFOp>(defOp) &&
+ !dyn_cast_if_present<arith::ExtSIOp>(defOp) &&
+ !dyn_cast_if_present<arith::ExtUIOp>(defOp)) {
----------------
banach-space wrote:
I don't see any tests where this would be relevant - is it needed?
https://github.com/llvm/llvm-project/pull/163724
More information about the Mlir-commits
mailing list