Skip to content

Commit ebc8466

Browse files
committed
[mlir][sparse] Adding {pointer,index}OverheadTypeEncoding
Work towards: #51652 The new functions fill the gap between `overheadTypeEncoding` and `get{Pointer,Index}OverheadType`. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122056
1 parent d051c56 commit ebc8466

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.cpp

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,24 @@ Type mlir::sparse_tensor::getOverheadType(Builder &builder, OverheadType ot) {
5858
llvm_unreachable("Unknown OverheadType");
5959
}
6060

61+
OverheadType mlir::sparse_tensor::pointerOverheadTypeEncoding(
62+
const SparseTensorEncodingAttr &enc) {
63+
return overheadTypeEncoding(enc.getPointerBitWidth());
64+
}
65+
66+
OverheadType mlir::sparse_tensor::indexOverheadTypeEncoding(
67+
const SparseTensorEncodingAttr &enc) {
68+
return overheadTypeEncoding(enc.getIndexBitWidth());
69+
}
70+
6171
Type mlir::sparse_tensor::getPointerOverheadType(
6272
Builder &builder, const SparseTensorEncodingAttr &enc) {
63-
return getOverheadType(builder,
64-
overheadTypeEncoding(enc.getPointerBitWidth()));
73+
return getOverheadType(builder, pointerOverheadTypeEncoding(enc));
6574
}
6675

6776
Type mlir::sparse_tensor::getIndexOverheadType(
6877
Builder &builder, const SparseTensorEncodingAttr &enc) {
69-
return getOverheadType(builder, overheadTypeEncoding(enc.getIndexBitWidth()));
78+
return getOverheadType(builder, indexOverheadTypeEncoding(enc));
7079
}
7180

7281
StringRef mlir::sparse_tensor::overheadTypeFunctionSuffix(OverheadType ot) {

mlir/lib/Dialect/SparseTensor/Transforms/CodegenUtils.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ OverheadType overheadTypeEncoding(Type tp);
3838
/// Converts the internal type-encoding for overhead storage to an mlir::Type.
3939
Type getOverheadType(Builder &builder, OverheadType ot);
4040

41+
/// Returns the OverheadType for pointer overhead storage.
42+
OverheadType pointerOverheadTypeEncoding(const SparseTensorEncodingAttr &enc);
43+
44+
/// Returns the OverheadType for index overhead storage.
45+
OverheadType indexOverheadTypeEncoding(const SparseTensorEncodingAttr &enc);
46+
4147
/// Returns the mlir::Type for pointer overhead storage.
4248
Type getPointerOverheadType(Builder &builder,
4349
const SparseTensorEncodingAttr &enc);

0 commit comments

Comments
 (0)