[Mlir-commits] [mlir] [mlir] Fix shift overflow and warning on LLP64 platforms (Windows) (PR #74002)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Nov 30 14:57:37 PST 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir-sparse

Author: Reid Kleckner (rnk)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/74002.diff


1 Files Affected:

- (modified) mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h (+3-3) 


``````````diff
diff --git a/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h b/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
index 9af42f00f91ed4e..ac91bfa5ae622dc 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
+++ b/mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
@@ -531,11 +531,11 @@ static_assert((isUniqueLT(LevelType::Dense) &&
 constexpr uint64_t encodeDim(uint64_t i, uint64_t cf, uint64_t cm) {
   if (cf != 0) {
     assert(cf <= 0xfffff && cm == 0 && i <= 0xfffff);
-    return (0x01L << 60) | (cf << 20) | i;
+    return (0x01ULL << 60) | (cf << 20) | i;
   }
   if (cm != 0) {
     assert(cm <= 0xfffff && i <= 0xfffff);
-    return (0x02L << 60) | (cm << 20) | i;
+    return (0x02ULL << 60) | (cm << 20) | i;
   }
   assert(i <= 0x0fffffffffffffffu);
   return i;
@@ -543,7 +543,7 @@ constexpr uint64_t encodeDim(uint64_t i, uint64_t cf, uint64_t cm) {
 constexpr uint64_t encodeLvl(uint64_t i, uint64_t c, uint64_t ii) {
   if (c != 0) {
     assert(c <= 0xfffff && ii <= 0xfffff && i <= 0xfffff);
-    return (0x03L << 60) | (c << 20) | (ii << 40) | i;
+    return (0x03ULL << 60) | (c << 20) | (ii << 40) | i;
   }
   assert(i <= 0x0fffffffffffffffu);
   return i;

``````````

</details>


https://github.com/llvm/llvm-project/pull/74002


More information about the Mlir-commits mailing list