[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
================
@@ -1063,7 +1065,7 @@ isNoWrap(PredicatedScalarEvolution &PSE, const SCEVAddRecExpr *AR, Value *Ptr,
// assumes the object in memory is aligned to the natural alignment.
unsigned AddrSpace = AR->getType()->getPointerAddressSpace();
if (!NullPointerIsDefined(L->getHeader()->getParent(), AddrSpace) &&
- (Stride == 1 || Stride == -1))
+ PSE.getSE()->getAbsExpr(Stride, false)->isOne())
----------------
artagnon wrote:
```suggestion
Stride->isOne() || Stride->isAllOnesValue())
```
https://github.com/llvm/llvm-project/pull/186262
More information about the llvm-commits
mailing list