[Mlir-commits] [mlir] [mlir][xegpu] Add definitons of MatrixDescType and related ops. (PR #153273)
Chao Chen
llvmlistbot at llvm.org
Wed Aug 13 14:27:32 PDT 2025
================
@@ -925,6 +935,83 @@ void ConvertLayoutOp::getCanonicalizationPatterns(RewritePatternSet &patterns,
patterns.add<FoldConvertLayoutOp>(context);
}
+//===----------------------------------------------------------------------===//
+// XeGPU_LoadMatrixOp
+//===----------------------------------------------------------------------===//
+void LoadMatrixOp::build(OpBuilder &builder, OperationState &state, Type res,
+ TypedValue<MatrixDescType> matrixDesc,
+ llvm::ArrayRef<OpFoldResult> offsets,
+ LayoutTrait layout) {
+ llvm::SmallVector<Value> dynamicOffsets;
+ llvm::SmallVector<int64_t> staticOffsets;
+ dispatchIndexOpFoldResults(offsets, dynamicOffsets, staticOffsets);
+ auto staticOffsetsAttr = builder.getDenseI64ArrayAttr(staticOffsets);
+ build(builder, state, res, matrixDesc, dynamicOffsets, staticOffsetsAttr,
+ layout);
+}
+
+LogicalResult LoadMatrixOp::verify() {
+ ArrayRef<int64_t> valueShape = getRes().getType().getShape();
+ ArrayRef<int64_t> mdescShape = getMatrixDesc().getType().getShape();
+ if (llvm::any_of(llvm::zip_equal(valueShape, mdescShape),
----------------
chencha3 wrote:
no worries
https://github.com/llvm/llvm-project/pull/153273
More information about the Mlir-commits
mailing list