[PATCH] D133524: [SLP]Improve reordering of clustered reused scalars.

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 9 09:36:01 PDT 2022


RKSimon added inline comments.


================
Comment at: llvm/lib/IR/Instructions.cpp:2573
+bool ShuffleVectorInst::isOneUseSingleSourceMask(ArrayRef<int> Mask, int VF) {
+  if (VF <= 1 || Mask.size() < static_cast<unsigned>(VF) ||
+      Mask.size() % VF != 0)
----------------
Is it going to be a problem to refactor this back to the old bitmask approach to allow VF == 1? I can think of cases where we're going to want to match this to <1,0,2,3> style permutes without any clustering.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3892
+                    OpTE->getVectorFactor() == ExtOrder.size() ? ExtOrder
+                                                               : OrdersType(),
+                    0))
----------------
Pull the ternary operator out - this should make the code easier to grok.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133524



More information about the llvm-commits mailing list