[Mlir-commits] [mlir] [MLIR][XeGPU] Enhance Layout Propagation for broadcasting both leading dimensions and inner unit dimensions (PR #185583)

Mikael Holmen llvmlistbot at llvm.org
Fri Mar 13 03:55:10 PDT 2026


================
@@ -677,10 +677,17 @@ void LayoutInfoPropagation::visitVectorBroadCastOp(
   auto resShape = resultTy.getShape();
 
   size_t dimDiff = resultTy.getRank() - sourceTy.getRank();
-  for (size_t i = 0; i < srcShape.size(); i++)
-    if ((srcShape[i] == 1) && (resShape[i + dimDiff] != 1))
-      broadcast.emitWarning("broadcast must either from low-rank or same-rank "
-                            "with unit-dim, mixed scenario is not supported!");
+  if (dimDiff == 0) {
+    bool hasUnitDim =
----------------
mikaelholmen wrote:

Hi @Jianhui-Li 
hasUnitDim and produceByShapeCast are unused in builds without asserts:
```
mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp:682:10: error: unused variable 'hasUnitDim' [-Werror,-Wunused-variable]
  682 |     bool hasUnitDim =
      |          ^~~~~~~~~~
mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp:687:10: error: unused variable 'produceByShapeCast' [-Werror,-Wunused-variable]
  687 |     bool produceByShapeCast = isa<vector::ShapeCastOp>(srcOp);
      |          ^~~~~~~~~~~~~~~~~~
2 errors generated.
```

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


More information about the Mlir-commits mailing list