[llvm] [LAA] Allow vectorizing `A[NonZeroNonConstantStride*I] += 1` (PR #186262)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 29 01:08:36 PDT 2026
================
@@ -54,7 +54,12 @@ static std::optional<int64_t> getConstantStride(VPValue *Addr, Type *AccessTy,
if (!AddRec)
return {};
- return getStrideFromAddRec(AddRec, L, AccessTy, /*Ptr=*/nullptr, PSE);
+ const auto *Stride = dyn_cast_or_null<SCEVConstant>(
+ getStrideFromAddRec(AddRec, L, AccessTy, /*Ptr=*/nullptr, PSE));
+ if (!Stride)
+ return {};
+
+ return Stride->getAPInt().trySExtValue();
----------------
artagnon wrote:
Hm, could create a static getStrideFromAddRec, and leave its API unchanged to eliminate this change?
https://github.com/llvm/llvm-project/pull/186262
More information about the llvm-commits
mailing list