[PATCH] D149993: [SLP][NFC] Cleanup: Separate vectorization of Inserts and CmpInsts.

Alexey Bataev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 5 13:57:50 PDT 2023


ABataev added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:14685-14688
+            PI && !((isa<InsertElementInst, InsertValueInst>(PI) &&
+                     PostProcessInserts.contains(PI)) ||
+                    (isa<CmpInst>(PI) &&
+                     PostProcessCmps.contains(cast<CmpInst>(PI)))))
----------------
It does not make it simpler


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:14720-14723
+              VI && !((isa<InsertElementInst, InsertValueInst>(VI) &&
+                       PostProcessInserts.contains(VI)) ||
+                      (isa<CmpInst>(VI) &&
+                       PostProcessCmps.contains(cast<CmpInst>(VI)))))
----------------
Same


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:14732-14736
+      if (it->isTerminator()) {
+        OpsChanged |= vectorizeCmpInsts(reverse(PostProcessCmps), BB, R);
+        PostProcessCmps.clear();
+      }
+      PostProcessInserts.clear();
----------------
You have to duplicate the same code, which is more complex than before


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149993



More information about the llvm-commits mailing list