[Mlir-commits] [mlir] [MLIR][Linalg] Simplify tiling canonical pattern (PR #182909)

Matthias Springer llvmlistbot at llvm.org
Tue Feb 24 07:40:04 PST 2026


================
@@ -80,6 +80,16 @@ def ApplyFoldUnitExtentDimsViaSlicesPatternsOp : Op<Transform_Dialect,
   let assemblyFormat = "attr-dict";
 }
 
+def ApplyLinalgCanonicalizationPatternsOp : Op<Transform_Dialect,
----------------
matthias-springer wrote:

Would this work?
```c++
void transform::ApplyCanonicalizationPatternsOp::populatePatterns(
    RewritePatternSet &patterns) {
  StringRef dialectStr = getDialect().getStringRef();
  Dialect *dialect = ctx->getLoadedDialect(dialectStr);
  if (!dialect) { emitError("dialect not loaded"); } // or you could also load it on demand
  dialect->getCanonicalizationPatterns(patterns);
  for (RegisteredOperationName op : ctx->getRegisteredOperations())
    if (op.getDialect() == dialect)
      op.getCanonicalizationPatterns(patterns, ctx);
}
```

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


More information about the Mlir-commits mailing list