[Mlir-commits] [mlir] [mlir][xegpu] Refine layout assignment in XeGPU SIMT distribution. (PR #142687)
Charitha Saumya
llvmlistbot at llvm.org
Tue Jun 10 14:08:20 PDT 2025
================
@@ -27,10 +27,18 @@ def XeGPUSubgroupDistribute : Pass<"xegpu-subgroup-distribute"> {
}];
let dependentDialects = ["memref::MemRefDialect", "xegpu::XeGPUDialect",
"vector::VectorDialect"];
- let options = [Option<
- "printOnly", "print-analysis-only", "bool",
- /*default=*/"false",
- "Print the result of the subgroup map propagation analysis and exit.">];
+}
+
+def XeGPULayoutPropagate : Pass<"xegpu-layout-propagate"> {
----------------
charithaintc wrote:
Currently pass will assume input IR does not have any layouts (all are dropped), So currently it can not do this partial propagation.
But overall, I don't think there is restriction on improving it. If some layouts are present we can consider them as anchor ops.
To generalize following changes are needed.
1. Decouple the actual layout info from the sparse backward propagation (just keep track of if a layout is assigned or not). try to reuse xegpu::LayoutAttr as the layout info.
2. improve the pass to work on IR with partially filled layouts.
I am still thinking `layout-propagate` or `propagate-layout` is a suitable name.
https://github.com/llvm/llvm-project/pull/142687
More information about the Mlir-commits
mailing list