Author: Amr Hesham Date: 2026-10-09T19:53:04Z New Revision: b0a5116a9c429d649bafd689f2d3244b6621260a
URL: https://github.com/llvm/llvm-project/commit/b0a5116a9c429d649bafd689f2d3244b6621260a DIFF: https://github.com/llvm/llvm-project/commit/b0a5116a9c429d649bafd689f2d3244b6621260a.diff LOG: [CIR][NFC] Improve MatrixType parameters names (#230602) Improve MatrixType row and column numbers parameter names Added: Modified: clang/include/clang/CIR/Dialect/IR/CIROps.td clang/include/clang/CIR/Dialect/IR/CIRTypes.td clang/lib/CIR/CodeGen/CIRGenBuilder.h clang/lib/CIR/Dialect/IR/CIRDialect.cpp clang/lib/CIR/Dialect/IR/CIRTypes.cpp clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp clang/lib/CIR/Lowering/LoweringHelpers.cpp Removed: ################################################################################ diff --git a/clang/include/clang/CIR/Dialect/IR/CIROps.td b/clang/include/clang/CIR/Dialect/IR/CIROps.td index 53f693a7863ee..6a7d8ca8f7fc9 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIROps.td +++ b/clang/include/clang/CIR/Dialect/IR/CIROps.td @@ -6608,7 +6608,7 @@ def CIR_MatrixExtractOp : CIR_Op<"matrix.extract", [ ``` %rowIdx = cir.const #cir.int<1> : !u64i %columnIdx = cir.const #cir.int<2> : !u64i - %element = cir.matrix.extract %matrix[%rowIdx : !u64i, %columnIdx : !u64i] + %element = cir.matrix.extract %matrix[%rowIdx : !u64i] [%columnIdx : !u64i] : !cir.matrix<3 x 3 x !cir.float> ``` }]; diff --git a/clang/include/clang/CIR/Dialect/IR/CIRTypes.td b/clang/include/clang/CIR/Dialect/IR/CIRTypes.td index 2b76d1cb6928d..366a4669c3a56 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIRTypes.td +++ b/clang/include/clang/CIR/Dialect/IR/CIRTypes.td @@ -589,20 +589,20 @@ def CIR_MatrixType : CIR_Type<"Matrix", "matrix", [ let parameters = (ins CIR_MatrixElementType:$element_type, - "uint64_t":$row_num, - "uint64_t":$column_num + "uint64_t":$num_rows, + "uint64_t":$num_columns ); let builders = [ TypeBuilderWithInferredContext<(ins - "mlir::Type":$element_type, "uint64_t":$row_num, "uint64_t":$column_num + "mlir::Type":$element_type, "uint64_t":$num_rows, "uint64_t":$num_columns ), [{ - return $_get(element_type.getContext(), element_type, row_num, column_num); + return $_get(element_type.getContext(), element_type, num_rows, num_columns); }]>, ]; let assemblyFormat = [{ - `<` $row_num `x` $column_num `x` $element_type `>` + `<` $num_rows `x` $num_columns `x` $element_type `>` }]; let genVerifyDecl = 1; diff --git a/clang/lib/CIR/CodeGen/CIRGenBuilder.h b/clang/lib/CIR/CodeGen/CIRGenBuilder.h index 51f3388ddcc04..0d22c40072f63 100644 --- a/clang/lib/CIR/CodeGen/CIRGenBuilder.h +++ b/clang/lib/CIR/CodeGen/CIRGenBuilder.h @@ -845,8 +845,9 @@ class CIRGenBuilderTy : public cir::CIRBaseBuilderTy { cir::MatrixTransposeOp createMatrixTranspose(mlir::Location loc, mlir::Value matrix) { auto inputTy = mlir::cast<cir::MatrixType>(matrix.getType()); - auto resultTy = cir::MatrixType::get( - inputTy.getElementType(), inputTy.getColumnNum(), inputTy.getRowNum()); + auto resultTy = + cir::MatrixType::get(inputTy.getElementType(), inputTy.getNumColumns(), + inputTy.getNumRows()); return cir::MatrixTransposeOp::create(*this, loc, resultTy, matrix); } diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp index 8a62ae541b4b6..f3dc4dec729fc 100644 --- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp @@ -4537,10 +4537,11 @@ LogicalResult cir::MatrixTransposeOp::verify() { cir::MatrixType resultTy = getResult().getType(); if ((valueTy.getElementType() != resultTy.getElementType()) || - (valueTy.getRowNum() != resultTy.getColumnNum()) || - (valueTy.getColumnNum() != resultTy.getRowNum())) { - auto expectedTy = cir::MatrixType::get( - valueTy.getElementType(), valueTy.getColumnNum(), valueTy.getRowNum()); + (valueTy.getNumRows() != resultTy.getNumColumns()) || + (valueTy.getNumColumns() != resultTy.getNumRows())) { + auto expectedTy = + cir::MatrixType::get(valueTy.getElementType(), valueTy.getNumColumns(), + valueTy.getNumRows()); emitOpError() << "operand type " << valueTy << " expects result type of " << expectedTy << " but got " << resultTy; return failure(); diff --git a/clang/lib/CIR/Dialect/IR/CIRTypes.cpp b/clang/lib/CIR/Dialect/IR/CIRTypes.cpp index 75677d05796e6..061d15cc3a088 100644 --- a/clang/lib/CIR/Dialect/IR/CIRTypes.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRTypes.cpp @@ -1603,7 +1603,7 @@ llvm::TypeSize cir::MatrixType::getTypeSizeInBits( const ::mlir::DataLayout &dataLayout, ::mlir::DataLayoutEntryListRef params) const { return llvm::TypeSize::getFixed( - getRowNum() * getColumnNum() * + getNumRows() * getNumColumns() * dataLayout.getTypeSizeInBits(getElementType())); } diff --git a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp index d919ed2e98a5b..7cba2793cb870 100644 --- a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp +++ b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp @@ -4066,7 +4066,7 @@ static void prepareTypeConverter(mlir::LLVMTypeConverter &converter, return mlir::VectorType::get(type.getSize(), ty, {type.getIsScalable()}); }); converter.addConversion([&](cir::MatrixType type) -> mlir::Type { - const uint64_t size = type.getRowNum() * type.getColumnNum(); + const uint64_t size = type.getNumRows() * type.getNumColumns(); const mlir::Type elemTy = converter.convertType(type.getElementType()); return mlir::VectorType::get(size, elemTy); }); @@ -5355,7 +5355,7 @@ mlir::LogicalResult CIRToLLVMMatrixExtractOpLowering::matchAndRewrite( mlir::Type indexTy = rowIdx.getType(); mlir::Value numRows = mlir::LLVM::ConstantOp::create( rewriter, op.getLoc(), indexTy, - rewriter.getIntegerAttr(indexTy, matrixTy.getRowNum())); + rewriter.getIntegerAttr(indexTy, matrixTy.getNumRows())); // Column major index = (columnIdx * numRows) + rowIdx mlir::Value flatIndex = mlir::LLVM::MulOp::create( @@ -5376,8 +5376,8 @@ mlir::LogicalResult CIRToLLVMMatrixColumnMajorLoadOpLowering::matchAndRewrite( rewriter.replaceOpWithNewOp<mlir::LLVM::MatrixColumnMajorLoadOp>( op, resultTy, adaptor.getValue(), adaptor.getStride(), rewriter.getBoolAttr(op.getIsVolatile()), - rewriter.getI32IntegerAttr(resultMatrixTy.getRowNum()), - rewriter.getI32IntegerAttr(resultMatrixTy.getColumnNum())); + rewriter.getI32IntegerAttr(resultMatrixTy.getNumRows()), + rewriter.getI32IntegerAttr(resultMatrixTy.getNumColumns())); return mlir::success(); } @@ -5388,8 +5388,8 @@ mlir::LogicalResult CIRToLLVMMatrixColumnMajorStoreOpLowering::matchAndRewrite( rewriter.replaceOpWithNewOp<mlir::LLVM::MatrixColumnMajorStoreOp>( op, adaptor.getMatrix(), adaptor.getValue(), adaptor.getStride(), rewriter.getBoolAttr(op.getIsVolatile()), - rewriter.getI32IntegerAttr(matrixTy.getRowNum()), - rewriter.getI32IntegerAttr(matrixTy.getColumnNum())); + rewriter.getI32IntegerAttr(matrixTy.getNumRows()), + rewriter.getI32IntegerAttr(matrixTy.getNumColumns())); return mlir::success(); } @@ -5399,8 +5399,8 @@ mlir::LogicalResult CIRToLLVMMatrixTransposeOpLowering::matchAndRewrite( cir::MatrixType resultMatrixTy = op.getValue().getType(); mlir::Type resultTy = typeConverter->convertType(resultMatrixTy); rewriter.replaceOpWithNewOp<mlir::LLVM::MatrixTransposeOp>( - op, resultTy, adaptor.getValue(), resultMatrixTy.getRowNum(), - resultMatrixTy.getColumnNum()); + op, resultTy, adaptor.getValue(), resultMatrixTy.getNumRows(), + resultMatrixTy.getNumColumns()); return mlir::success(); } diff --git a/clang/lib/CIR/Lowering/LoweringHelpers.cpp b/clang/lib/CIR/Lowering/LoweringHelpers.cpp index c6baa2fd63e3e..4191c3c9c8a4d 100644 --- a/clang/lib/CIR/Lowering/LoweringHelpers.cpp +++ b/clang/lib/CIR/Lowering/LoweringHelpers.cpp @@ -88,7 +88,7 @@ mlir::Type convertTypeForMemory(const mlir::TypeConverter &converter, "convertTypeForMemory: Matrix with bool as element type"); } - uint64_t size = matrixTy.getRowNum() * matrixTy.getColumnNum(); + uint64_t size = matrixTy.getNumRows() * matrixTy.getNumColumns(); mlir::Type elementType = converter.convertType(matrixTy.getElementType()); return mlir::LLVM::LLVMArrayType::get(elementType, size); } @@ -133,7 +133,7 @@ mlir::Type convertTypeForLoadStore(const mlir::TypeConverter &converter, // Convert the Matrix type to a vector type (the value type of // MatrixType), if it points to a array (the memory type of MatrixType). if (auto matrixTy = mlir::dyn_cast<cir::MatrixType>(type)) { - uint64_t size = matrixTy.getRowNum() * matrixTy.getColumnNum(); + uint64_t size = matrixTy.getNumRows() * matrixTy.getNumColumns(); mlir::Type elemTy = converter.convertType(matrixTy.getElementType()); return mlir::VectorType::get(size, elemTy); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
