[Mlir-commits] [mlir] [MLIR][XeGPU] Lowering 2-Dimensional Reductions of N-D Tensors into Chained 1-D Reductions (PR #186034)
Artem Kroviakov
llvmlistbot at llvm.org
Thu Mar 12 03:30:58 PDT 2026
================
@@ -444,33 +440,27 @@ class MultiRed2dOpPattern
auto loc = reductionOp.getLoc();
auto acc = reductionOp.getAcc();
- // The first reduction's dist attribute does not have the cross lane dim.
- auto resSliceLayoutAttr = cast<xegpu::SliceAttr>(resLayout);
- SmallVector<int64_t> dropDims{crossLaneDim};
- auto intraLaneRedResLayout = resSliceLayoutAttr.dropSliceDims(dropDims);
-
SmallVector<int64_t> accShape(sourceVecType.getShape());
accShape.erase(accShape.begin() + intraLaneDim);
- if (acc) {
- acc = vector::BroadcastOp::create(
- rewriter, loc,
- VectorType::get(accShape, sourceVecType.getElementType()), acc);
- xegpu::setDistributeLayoutAttr(
- llvm::dyn_cast<OpResult>(acc),
- cast<xegpu::DistributeLayoutAttr>(intraLaneRedResLayout));
- }
+ Type eTy = sourceVecType.getElementType();
+ Attribute eVal;
+ if (eTy.isFloat())
+ eVal = FloatAttr::get(eTy, 0.0);
+ else
+ eVal = IntegerAttr::get(eTy, 0);
+ Value const_zero = arith::ConstantOp::create(
----------------
akroviakov wrote:
```suggestion
Value constZero = arith::ConstantOp::create(
```
https://github.com/llvm/llvm-project/pull/186034
More information about the Mlir-commits
mailing list