[llvm] [LAA] Fix implicit trunc from int64 to int and losing info (PR #139553)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Tue May 13 12:55:36 PDT 2025


================
@@ -1585,6 +1585,8 @@ std::optional<int> llvm::getPointersDiff(Type *ElemTyA, Value *PtrA,
     OffsetB = OffsetB.sextOrTrunc(IdxWidth);
 
     OffsetB -= OffsetA;
+    if (OffsetB.getSignificantBits() > sizeof(int) * 8)
+      return std::nullopt;
     Val = OffsetB.getSExtValue();
----------------
alexey-bataev wrote:

If someone is ready to update all users to int64_t, it would be good to do it. I just don't have much time to check all the corner cases

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


More information about the llvm-commits mailing list