[PATCH] D135174: [SLP]Redesign vectorization of the gather nodes.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 2 12:41:16 PDT 2022


RKSimon added a comment.

As usual, there's a lot going on in this patch! For starters - it looks like there a number of cleanup changes that can be pulled out?



================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:4000
     return false;
-  for (unsigned I = 0, E = Mask.size(); I < E; I += Sz) {
+  for (unsigned I = Sz, E = Mask.size(); I < E; I += Sz) {
     ArrayRef<int> Cluster = Mask.slice(I, Sz);
----------------
Independent change?


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:4026
+  for (auto *It = TE.ReuseShuffleIndices.begin(),
+            *End = TE.ReuseShuffleIndices.end();
        It != End; std::advance(It, Sz))
----------------
Independent change?


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:4028
        It != End; std::advance(It, Sz))
-    std::iota(It, std::next(It + Sz), 0);
+    std::iota(It, std::next(It, Sz), 0);
 }
----------------
Independent change?


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:8157
+          int Pos = 0;
+          for (int Idx : VE->ReuseShuffleIndices) {
+            if (Idx != static_cast<int>(VF) && Idx != UndefMaskElem &&
----------------
Idx shadow variable?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135174/new/

https://reviews.llvm.org/D135174



More information about the llvm-commits mailing list