[Mlir-commits] [mlir] [MLIR][XeGPU] Add Layout Propagation support for multi-reduction/reduction op with scalar result (PR #189133)
Jianhui Li
llvmlistbot at llvm.org
Wed Apr 1 11:01:58 PDT 2026
================
@@ -652,13 +686,14 @@ xegpu::DistributeLayoutAttr xegpu::setupInsertStridedSliceResultLayout(
}
} else if (layoutKind == xegpu::LayoutKind::Lane) {
for (int dim = 0; dim < srcRank; dim++) {
- assert(srcShape[dim] % consumerLaneLayout[dim] == 0 &&
- "srcShape must be divisible by laneLayout for all dimensions");
- laneDataValue = std::min(srcShape[dim] / consumerLaneLayout[dim],
- consumerLaneData[dim]);
-
- requiredResLayout =
- requiredResLayout.setDimData(dim, -1, -1, laneDataValue);
+ if (consumerLaneData[dim] != srcShape[dim]) {
----------------
Jianhui-Li wrote:
The check here is to support the wrap-around layout which is only relevant at sg/lane layout, not inst_layout. added a comment.
https://github.com/llvm/llvm-project/pull/189133
More information about the Mlir-commits
mailing list