[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