[llvm] [SLP] Enable runtime stride stores (PR #200018)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 27 15:58:25 PDT 2026
================
@@ -11057,6 +11075,17 @@ BoUpSLP::TreeEntry::EntryState BoUpSLP::getScalarsVectorizationState(
CurrentOrder, *Dist, Ptr0, SPtrInfo))
return TreeEntry::StridedVectorize;
}
+ if (analyzeRtStrideCandidate(PointerOps, ScalarTy, CommonAlignment,
+ CurrentOrder, SPtrInfo, /*isLoad=*/false)) {
+ if (isIdentityOrder(CurrentOrder)) {
+ CurrentOrder.clear();
+ } else if (isReverseOrder(CurrentOrder)) {
+ SPtrInfo.StrideSCEV = SE->getNegativeSCEV(SPtrInfo.StrideSCEV);
+ CurrentOrder.clear();
+ }
+
+ return TreeEntry::StridedVectorize;
+ }
----------------
alexey-bataev wrote:
0 stride, non-monotonic stride
https://github.com/llvm/llvm-project/pull/200018
More information about the llvm-commits
mailing list