[llvm] [LAA] Fix off-by-EltSize in negative-step deref bounds check (PR #211964)

Aleksandr Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 1 04:13:16 PDT 2026


================
@@ -206,6 +206,16 @@ static const SCEV *mulSCEVNoOverflow(const SCEV *A, const SCEV *B,
 
 /// Return true, if evaluating \p AR at \p MaxBTC cannot wrap, because \p AR at
 /// \p MaxBTC is guaranteed inbounds of the accessed object.
+///
+/// The accessed byte range is [LowestOffset, LowestOffset + AccessedBytes),
+/// where
+///   AccessedBytes = MaxBTC * |Step| + EltSize,
+///   LowestOffset  = smallest byte offset from StartPtr any iteration reaches.
----------------
aleks-tmb wrote:

Done

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


More information about the llvm-commits mailing list