[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 12:10:28 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:

trySExtValue() should fix your issues?

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


More information about the llvm-commits mailing list