[Mlir-commits] [mlir] [mlir][sparse] Update Enum name for CompressedWithHigh (PR #67845)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Sep 29 12:33:26 PDT 2023
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-sparse
<details>
<summary>Changes</summary>
Change CompressedWithHigh to LooseCompressed.
---
Patch is 26.53 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/67845.diff
13 Files Affected:
- (modified) mlir/include/mlir-c/Dialect/SparseTensor.h (+14-14)
- (modified) mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h (+53-53)
- (modified) mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h (+2-2)
- (modified) mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td (+1-1)
- (modified) mlir/lib/Bindings/Python/DialectSparseTensor.cpp (+7-7)
- (modified) mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp (+1-1)
- (modified) mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp (+5-5)
- (modified) mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp (+8-8)
- (modified) mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp (+4-4)
- (modified) mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp (+3-3)
- (modified) mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp (+2-2)
- (modified) mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir (+1-1)
- (modified) mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_libgen.mlir (+1-1)
``````````diff
diff --git a/mlir/include/mlir-c/Dialect/SparseTensor.h b/mlir/include/mlir-c/Dialect/SparseTensor.h
index fecbeaf6b0f9d6c..7e47e54e7361d54 100644
--- a/mlir/include/mlir-c/Dialect/SparseTensor.h
+++ b/mlir/include/mlir-c/Dialect/SparseTensor.h
@@ -26,20 +26,20 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(SparseTensor, sparse_tensor);
/// If updating, keep them in sync and update the static_assert in the impl
/// file.
enum MlirSparseTensorDimLevelType {
- MLIR_SPARSE_TENSOR_DIM_LEVEL_DENSE = 4, // 0b00001_00
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED = 8, // 0b00010_00
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NU = 9, // 0b00010_01
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NO = 10, // 0b00010_10
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NU_NO = 11, // 0b00010_11
- MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON = 16, // 0b00100_00
- MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU = 17, // 0b00100_01
- MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NO = 18, // 0b00100_10
- MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU_NO = 19, // 0b00100_11
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI = 32, // 0b01000_00
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NU = 33, // 0b01000_01
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NO = 34, // 0b01000_10
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NU_NO = 35, // 0b01000_11
- MLIR_SPARSE_TENSOR_DIM_LEVEL_TWO_OUT_OF_FOUR = 64, // 0b10000_00
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_DENSE = 4, // 0b00001_00
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED = 8, // 0b00010_00
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NU = 9, // 0b00010_01
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NO = 10, // 0b00010_10
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_NU_NO = 11, // 0b00010_11
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON = 16, // 0b00100_00
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU = 17, // 0b00100_01
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NO = 18, // 0b00100_10
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU_NO = 19, // 0b00100_11
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED = 32, // 0b01000_00
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NU = 33, // 0b01000_01
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NO = 34, // 0b01000_10
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NU_NO = 35, // 0b01000_11
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_TWO_OUT_OF_FOUR = 64, // 0b10000_00
};
//===----------------------------------------------------------------------===//
diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h b/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
index 7a1aed509c2a360..bc351ec52c0946b 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
@@ -170,33 +170,33 @@ enum class Action : uint32_t {
// TODO: We should generalize TwoOutOfFour to N out of M and use property to
// encode the value of N and M.
// TODO: Update DimLevelType to use lower 8 bits for storage formats and the
-// higher 4 bits to store level properties. Consider CompressedWithHi and
+// higher 4 bits to store level properties. Consider LooseCompressed and
// TwoOutOfFour as properties instead of formats.
enum class DimLevelType : uint8_t {
- Undef = 0, // 0b00000_00
- Dense = 4, // 0b00001_00
- Compressed = 8, // 0b00010_00
- CompressedNu = 9, // 0b00010_01
- CompressedNo = 10, // 0b00010_10
- CompressedNuNo = 11, // 0b00010_11
- Singleton = 16, // 0b00100_00
- SingletonNu = 17, // 0b00100_01
- SingletonNo = 18, // 0b00100_10
- SingletonNuNo = 19, // 0b00100_11
- CompressedWithHi = 32, // 0b01000_00
- CompressedWithHiNu = 33, // 0b01000_01
- CompressedWithHiNo = 34, // 0b01000_10
- CompressedWithHiNuNo = 35, // 0b01000_11
- TwoOutOfFour = 64, // 0b10000_00
+ Undef = 0, // 0b00000_00
+ Dense = 4, // 0b00001_00
+ Compressed = 8, // 0b00010_00
+ CompressedNu = 9, // 0b00010_01
+ CompressedNo = 10, // 0b00010_10
+ CompressedNuNo = 11, // 0b00010_11
+ Singleton = 16, // 0b00100_00
+ SingletonNu = 17, // 0b00100_01
+ SingletonNo = 18, // 0b00100_10
+ SingletonNuNo = 19, // 0b00100_11
+ LooseCompressed = 32, // 0b01000_00
+ LooseCompressedNu = 33, // 0b01000_01
+ LooseCompressedNo = 34, // 0b01000_10
+ LooseCompressedNuNo = 35, // 0b01000_11
+ TwoOutOfFour = 64, // 0b10000_00
};
/// This enum defines all supported storage format without the level properties.
enum class LevelFormat : uint8_t {
- Dense = 4, // 0b00001_00
- Compressed = 8, // 0b00010_00
- Singleton = 16, // 0b00100_00
- CompressedWithHi = 32, // 0b01000_00
- TwoOutOfFour = 64, // 0b10000_00
+ Dense = 4, // 0b00001_00
+ Compressed = 8, // 0b00010_00
+ Singleton = 16, // 0b00100_00
+ LooseCompressed = 32, // 0b01000_00
+ TwoOutOfFour = 64, // 0b10000_00
};
/// This enum defines all the nondefault properties for storage formats.
@@ -228,14 +228,14 @@ constexpr const char *toMLIRString(DimLevelType dlt) {
return "singleton_no";
case DimLevelType::SingletonNuNo:
return "singleton_nu_no";
- case DimLevelType::CompressedWithHi:
- return "compressed_hi";
- case DimLevelType::CompressedWithHiNu:
- return "compressed_hi_nu";
- case DimLevelType::CompressedWithHiNo:
- return "compressed_hi_no";
- case DimLevelType::CompressedWithHiNuNo:
- return "compressed_hi_nu_no";
+ case DimLevelType::LooseCompressed:
+ return "loose_compressed";
+ case DimLevelType::LooseCompressedNu:
+ return "loose_compressed_nu";
+ case DimLevelType::LooseCompressedNo:
+ return "loose_compressed_no";
+ case DimLevelType::LooseCompressedNuNo:
+ return "loose_compressed_nu_no";
case DimLevelType::TwoOutOfFour:
return "compressed24";
}
@@ -279,9 +279,9 @@ constexpr bool isCompressedDLT(DimLevelType dlt) {
}
/// Check if the `DimLevelType` is compressed (regardless of properties).
-constexpr bool isCompressedWithHiDLT(DimLevelType dlt) {
+constexpr bool isLooseCompressedDLT(DimLevelType dlt) {
return (static_cast<uint8_t>(dlt) & ~3) ==
- static_cast<uint8_t>(DimLevelType::CompressedWithHi);
+ static_cast<uint8_t>(DimLevelType::LooseCompressed);
}
/// Check if the `DimLevelType` is singleton (regardless of properties).
@@ -373,10 +373,10 @@ static_assert((isValidDLT(DimLevelType::Undef) &&
isValidDLT(DimLevelType::SingletonNu) &&
isValidDLT(DimLevelType::SingletonNo) &&
isValidDLT(DimLevelType::SingletonNuNo) &&
- isValidDLT(DimLevelType::CompressedWithHi) &&
- isValidDLT(DimLevelType::CompressedWithHiNu) &&
- isValidDLT(DimLevelType::CompressedWithHiNo) &&
- isValidDLT(DimLevelType::CompressedWithHiNuNo) &&
+ isValidDLT(DimLevelType::LooseCompressed) &&
+ isValidDLT(DimLevelType::LooseCompressedNu) &&
+ isValidDLT(DimLevelType::LooseCompressedNo) &&
+ isValidDLT(DimLevelType::LooseCompressedNuNo) &&
isValidDLT(DimLevelType::TwoOutOfFour)),
"isValidDLT definition is broken");
@@ -391,16 +391,16 @@ static_assert((!isCompressedDLT(DimLevelType::Dense) &&
!isCompressedDLT(DimLevelType::SingletonNuNo)),
"isCompressedDLT definition is broken");
-static_assert((!isCompressedWithHiDLT(DimLevelType::Dense) &&
- isCompressedWithHiDLT(DimLevelType::CompressedWithHi) &&
- isCompressedWithHiDLT(DimLevelType::CompressedWithHiNu) &&
- isCompressedWithHiDLT(DimLevelType::CompressedWithHiNo) &&
- isCompressedWithHiDLT(DimLevelType::CompressedWithHiNuNo) &&
- !isCompressedWithHiDLT(DimLevelType::Singleton) &&
- !isCompressedWithHiDLT(DimLevelType::SingletonNu) &&
- !isCompressedWithHiDLT(DimLevelType::SingletonNo) &&
- !isCompressedWithHiDLT(DimLevelType::SingletonNuNo)),
- "isCompressedWithHiDLT definition is broken");
+static_assert((!isLooseCompressedDLT(DimLevelType::Dense) &&
+ isLooseCompressedDLT(DimLevelType::LooseCompressed) &&
+ isLooseCompressedDLT(DimLevelType::LooseCompressedNu) &&
+ isLooseCompressedDLT(DimLevelType::LooseCompressedNo) &&
+ isLooseCompressedDLT(DimLevelType::LooseCompressedNuNo) &&
+ !isLooseCompressedDLT(DimLevelType::Singleton) &&
+ !isLooseCompressedDLT(DimLevelType::SingletonNu) &&
+ !isLooseCompressedDLT(DimLevelType::SingletonNo) &&
+ !isLooseCompressedDLT(DimLevelType::SingletonNuNo)),
+ "isLooseCompressedDLT definition is broken");
static_assert((!isSingletonDLT(DimLevelType::Dense) &&
!isSingletonDLT(DimLevelType::Compressed) &&
@@ -423,10 +423,10 @@ static_assert((isOrderedDLT(DimLevelType::Dense) &&
isOrderedDLT(DimLevelType::SingletonNu) &&
!isOrderedDLT(DimLevelType::SingletonNo) &&
!isOrderedDLT(DimLevelType::SingletonNuNo) &&
- isOrderedDLT(DimLevelType::CompressedWithHi) &&
- isOrderedDLT(DimLevelType::CompressedWithHiNu) &&
- !isOrderedDLT(DimLevelType::CompressedWithHiNo) &&
- !isOrderedDLT(DimLevelType::CompressedWithHiNuNo)),
+ isOrderedDLT(DimLevelType::LooseCompressed) &&
+ isOrderedDLT(DimLevelType::LooseCompressedNu) &&
+ !isOrderedDLT(DimLevelType::LooseCompressedNo) &&
+ !isOrderedDLT(DimLevelType::LooseCompressedNuNo)),
"isOrderedDLT definition is broken");
static_assert((isUniqueDLT(DimLevelType::Dense) &&
@@ -439,10 +439,10 @@ static_assert((isUniqueDLT(DimLevelType::Dense) &&
!isUniqueDLT(DimLevelType::SingletonNu) &&
isUniqueDLT(DimLevelType::SingletonNo) &&
!isUniqueDLT(DimLevelType::SingletonNuNo) &&
- isUniqueDLT(DimLevelType::CompressedWithHi) &&
- !isUniqueDLT(DimLevelType::CompressedWithHiNu) &&
- isUniqueDLT(DimLevelType::CompressedWithHiNo) &&
- !isUniqueDLT(DimLevelType::CompressedWithHiNuNo)),
+ isUniqueDLT(DimLevelType::LooseCompressed) &&
+ !isUniqueDLT(DimLevelType::LooseCompressedNu) &&
+ isUniqueDLT(DimLevelType::LooseCompressedNo) &&
+ !isUniqueDLT(DimLevelType::LooseCompressedNuNo)),
"isUniqueDLT definition is broken");
} // namespace sparse_tensor
diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
index 9cab6b6a027cdd4..3eb9ce010cb006f 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
@@ -114,10 +114,10 @@ SparseTensorEncodingAttr getSparseTensorEncoding(Type type);
/// Convenience method to query whether a given DLT needs both position and
/// coordinates array or only coordinates array.
constexpr inline bool isDLTWithPos(DimLevelType dlt) {
- return isCompressedWithHiDLT(dlt) || isCompressedDLT(dlt);
+ return isLooseCompressedDLT(dlt) || isCompressedDLT(dlt);
}
constexpr inline bool isDLTWithCrd(DimLevelType dlt) {
- return isSingletonDLT(dlt) || isCompressedWithHiDLT(dlt) ||
+ return isSingletonDLT(dlt) || isLooseCompressedDLT(dlt) ||
isCompressedDLT(dlt);
}
diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
index d311fe7801cc18f..4e38f314a27391d 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
@@ -367,7 +367,7 @@ def SparseTensorEncodingAttr : SparseTensor_Attr<"SparseTensorEncoding",
bool isDenseLvl(::mlir::sparse_tensor::Level l) const { return isDenseDLT(getLvlType(l)); }
bool isTwoOutOfFourLvl(::mlir::sparse_tensor::Level l) const { return isTwoOutOfFourDLT(getLvlType(l)); }
bool isCompressedLvl(::mlir::sparse_tensor::Level l) const { return isCompressedDLT(getLvlType(l)); }
- bool isCompressedWithHiLvl(::mlir::sparse_tensor::Level l) const { return isCompressedWithHiDLT(getLvlType(l)); }
+ bool isLooseCompressedLvl(::mlir::sparse_tensor::Level l) const { return isLooseCompressedDLT(getLvlType(l)); }
bool isSingletonLvl(::mlir::sparse_tensor::Level l) const { return isSingletonDLT(getLvlType(l)); }
bool isOrderedLvl(::mlir::sparse_tensor::Level l) const { return isOrderedDLT(getLvlType(l)); }
bool isUniqueLvl(::mlir::sparse_tensor::Level l) const { return isUniqueDLT(getLvlType(l)); }
diff --git a/mlir/lib/Bindings/Python/DialectSparseTensor.cpp b/mlir/lib/Bindings/Python/DialectSparseTensor.cpp
index 3061e042c851d97..8e9e0b6baf76c20 100644
--- a/mlir/lib/Bindings/Python/DialectSparseTensor.cpp
+++ b/mlir/lib/Bindings/Python/DialectSparseTensor.cpp
@@ -28,13 +28,13 @@ static void populateDialectSparseTensorSubmodule(const py::module &m) {
.value("singleton_nu", MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU)
.value("singleton_no", MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NO)
.value("singleton_nu_no", MLIR_SPARSE_TENSOR_DIM_LEVEL_SINGLETON_NU_NO)
- .value("compressed_hi", MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI)
- .value("compressed_hi_nu",
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NU)
- .value("compressed_hi_no",
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NO)
- .value("compressed_hi_nu_no",
- MLIR_SPARSE_TENSOR_DIM_LEVEL_COMPRESSED_WITH_HI_NU_NO);
+ .value("loose_compressed", MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED)
+ .value("loose_compressed_nu",
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NU)
+ .value("loose_compressed_no",
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NO)
+ .value("loose_compressed_nu_no",
+ MLIR_SPARSE_TENSOR_DIM_LEVEL_LOOSE_COMPRESSED_NU_NO);
mlir_attribute_subclass(m, "EncodingAttr",
mlirAttributeIsASparseTensorEncodingAttr)
diff --git a/mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp b/mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
index 6938a7ad783ba81..053e067fff64ddb 100644
--- a/mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
+++ b/mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
@@ -68,7 +68,7 @@ FailureOr<uint8_t> LvlTypeParser::parseLvlType(AsmParser &parser) const {
} else if (base.compare("block2_4") == 0) {
properties |= static_cast<uint8_t>(LevelFormat::TwoOutOfFour);
} else if (base.compare("loose_compressed") == 0) {
- properties |= static_cast<uint8_t>(LevelFormat::CompressedWithHi);
+ properties |= static_cast<uint8_t>(LevelFormat::LooseCompressed);
} else if (base.compare("singleton") == 0) {
properties |= static_cast<uint8_t>(LevelFormat::Singleton);
} else {
diff --git a/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp b/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
index b962dda20cfe64a..3897e1b9ea3597c 100644
--- a/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
+++ b/mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
@@ -422,10 +422,10 @@ const static DimLevelType validDLTs[] = {DimLevelType::Dense,
DimLevelType::SingletonNu,
DimLevelType::SingletonNo,
DimLevelType::SingletonNuNo,
- DimLevelType::CompressedWithHi,
- DimLevelType::CompressedWithHiNu,
- DimLevelType::CompressedWithHiNo,
- DimLevelType::CompressedWithHiNuNo};
+ DimLevelType::LooseCompressed,
+ DimLevelType::LooseCompressedNu,
+ DimLevelType::LooseCompressedNo,
+ DimLevelType::LooseCompressedNuNo};
static std::optional<DimLevelType> parseDLT(StringRef str) {
for (DimLevelType dlt : validDLTs)
@@ -712,7 +712,7 @@ mlir::sparse_tensor::getSparseTensorEncoding(Type type) {
bool mlir::sparse_tensor::isCOOType(SparseTensorEncodingAttr enc,
Level startLvl, bool isUnique) {
if (!enc ||
- !(enc.isCompressedLvl(startLvl) || enc.isCompressedWithHiLvl(startLvl)))
+ !(enc.isCompressedLvl(startLvl) || enc.isLooseCompressedLvl(startLvl)))
return false;
const Level lvlRank = enc.getLvlRank();
for (Level l = startLvl + 1; l < lvlRank; ++l)
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
index 9feaceac2f51bdd..96eea0d0658290f 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp
@@ -433,7 +433,7 @@ void LoopEmitter::initializeLoopEmit(
!highs[t][l]);
const auto lvlTp = lvlTypes[t][l];
// Handle sparse storage schemes.
- if (isCompressedDLT(lvlTp) || isCompressedWithHiDLT(lvlTp)) {
+ if (isCompressedDLT(lvlTp) || isLooseCompressedDLT(lvlTp)) {
// Generate sparse primitives to obtain positions and coordinates.
positionsBuffers[t][l] = genToPositions(builder, loc, tensor, l);
coordinatesBuffers[t][l] =
@@ -534,7 +534,7 @@ void LoopEmitter::categorizeLoopCondition(
auto lvlType = lvlTypes[t][l];
// Must be a recognizable DLT.
assert(isDenseDLT(lvlType) || isCompressedDLT(lvlType) ||
- isCompressedWithHiDLT(lvlType) || isSingletonDLT(lvlType));
+ isLooseCompressedDLT(lvlType) || isSingletonDLT(lvlType));
bool isSparse = !isDenseDLT(lvlType);
bool isSlice = isSparseSlices[t];
@@ -630,7 +630,7 @@ std::pair<Operation *, Value> LoopEmitter::emitForLoopOverTensorAtLvl(
OpBuilder &builder, Location loc, TensorId tid, Level lvl, Value lo,
Value hi, MutableArrayRef<Value> reduc, bool isParallel) {
bool isSparseCond = isCompressedDLT(lvlTypes[tid][lvl]) ||
- isCompressedWithHiDLT(lvlTypes[tid][lvl]) ||
+ isLooseCompressedDLT(lvlTypes[tid][lvl]) ||
isSingletonDLT(lvlTypes[tid][lvl]);
// TODO: support dynamic slices.
// Uses the first dimension here to build the loop bound (which is also the
@@ -893,7 +893,7 @@ std::pair<Operation *, Value> LoopEmitter::emitWhileLoopOverTensorsAtLvls(
// Dense level are handled by the shared univeral index.
assert(!isDenseCond(cKind));
// Must be a recognizable sparse level.
- assert(isCompressedDLT(lvlTp) || isCompressedWithHiDLT(lvlTp) ||
+ assert(isCompressedDLT(lvlTp) || isLooseCompressedDLT(lvlTp) ||
isSingletonDLT(lvlTp));
(void)lvlTp;
@@ -1012,7 +1012,7 @@ std::pair<Operation *, Value> LoopEmitter::emitWhileLoopOverTensorsAtLvls(
for (auto [tid, lvl] : unpackTensorLevelFromCondRange(spConds)) {
const auto lvlTp = lvlTypes[tid][lvl];
if (isCompressedDLT(lvlTp) || isSingletonDLT(lvlTp) ||
- isCompressedWithHiDLT(lvlTp)) {
+ isLooseCompressedDLT(lvlTp)) {
const auto crd = coords[tid][lvl];
if (min) {
Value cmp = CMPI(ult, coords[tid][lvl], min);
@@ -1237,11 +1237,11 @@ void LoopEmitter::prepareLoopOverTensorAtLvl(OpBuilder &builder, Location loc,
// Either the first level, or the previous level has been set.
/// FIXME: See the [CLARIFY_POSITS_LVL] note in the header.
assert(lvl == 0 || posits[tid][lvl - 1]);
- if (isCompressedDLT(lvlTp) || isCompressedWithHiDLT(lvlTp)) {
+ if (isCompressedDLT(lvlTp) || isLooseCompressedDLT(lvlTp)) {
const Value mem = po...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/67845
More information about the Mlir-commits
mailing list