From dd0d5acfa67afd5e7acbb87430cd42aa0ac8ea51 Mon Sep 17 00:00:00 2001 From: Peiming Liu Date: Mon, 9 Jan 2023 17:45:00 +0000 Subject: [PATCH] [mlir][sparse] remove redundant template parameter (NFC) The template parameter is no longer needed after MutSparseTensorDescriptor is implemented as a subclass of SparseTensorDescriptorImpl. The only purpose for it was to enable SFINAE. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D141303 --- .../Transforms/SparseTensorStorageLayout.h | 34 ++++++++++------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorStorageLayout.h b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorStorageLayout.h index be7e44a..8d25ba2 100644 --- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorStorageLayout.h +++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorStorageLayout.h @@ -188,12 +188,14 @@ public: /*implicit*/ operator Value() { return specifier; } Value getSpecifierField(OpBuilder &builder, Location loc, - StorageSpecifierKind kind, Optional dim); + StorageSpecifierKind kind, + std::optional dim); void setSpecifierField(OpBuilder &builder, Location loc, Value v, - StorageSpecifierKind kind, Optional dim); + StorageSpecifierKind kind, + std::optional dim); - Type getFieldType(StorageSpecifierKind kind, Optional dim) { + Type getFieldType(StorageSpecifierKind kind, std::optional dim) { return specifier.getType().getFieldType(kind, dim); } @@ -240,7 +242,7 @@ protected: public: unsigned getMemRefFieldIndex(SparseTensorFieldKind kind, - Optional dim) const { + std::optional dim) const { // Delegates to storage layout. StorageLayout layout(getSparseTensorEncoding(rType)); return layout.getMemRefFieldIndex(kind, dim); @@ -266,7 +268,7 @@ public: Value getSpecifierField(OpBuilder &builder, Location loc, StorageSpecifierKind kind, - Optional dim) const { + std::optional dim) const { SparseTensorSpecifier md(fields.back()); return md.getSpecifierField(builder, loc, kind, dim); } @@ -288,7 +290,7 @@ public: } Value getMemRefField(SparseTensorFieldKind kind, - Optional dim) const { + std::optional dim) const { return fields[getMemRefFieldIndex(kind, dim)]; } @@ -309,7 +311,7 @@ public: } Type getMemRefElementType(SparseTensorFieldKind kind, - Optional dim) const { + std::optional dim) const { return getMemRefField(kind, dim) .getType() .template cast() @@ -353,34 +355,30 @@ public: /// MutSparseTensorDescriptor). /// - template - void setMemRefField(SparseTensorFieldKind kind, Optional dim, T v) { + void setMemRefField(SparseTensorFieldKind kind, std::optional dim, + Value v) { fields[getMemRefFieldIndex(kind, dim)] = v; } - template - void setMemRefField(unsigned fidx, T v) { + void setMemRefField(unsigned fidx, Value v) { assert(fidx < fields.size() - 1); fields[fidx] = v; } - template - void setField(unsigned fidx, T v) { + void setField(unsigned fidx, Value v) { assert(fidx < fields.size()); fields[fidx] = v; } - template void setSpecifierField(OpBuilder &builder, Location loc, - StorageSpecifierKind kind, Optional dim, - T v) { + StorageSpecifierKind kind, std::optional dim, + Value v) { SparseTensorSpecifier md(fields.back()); md.setSpecifierField(builder, loc, v, kind, dim); fields.back() = md; } - template - void setDimSize(OpBuilder &builder, Location loc, unsigned dim, T v) { + void setDimSize(OpBuilder &builder, Location loc, unsigned dim, Value v) { setSpecifierField(builder, loc, StorageSpecifierKind::DimSize, dim, v); } -- 2.7.4