[clang] b0a5116 - [CIR][NFC] Improve MatrixType parameters names (#230602)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Oct 9 12:53:12 PDT 2026
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);
}
More information about the cfe-commits
mailing list