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

Ramkumar Ramachandra via llvm-commits llvm-commits at lists.llvm.org
Tue May 13 13:02:07 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();
----------------
artagnon wrote:

Thanks for your work, I'll try to pick this up in the morning.

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


More information about the llvm-commits mailing list