[PATCH] D109432: [LoopVectorize] Permit fixed-width epilogue loops for scalable vector bodies

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 27 02:38:20 PDT 2021


sdesmalen added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10437
+        VPlan &BestMainPlan = LVP.getBestPlanFor(EPI.MainLoopVF);
+        VPlan &BestEpiPlan = LVP.getBestPlanFor(EPI.EpilogueVF);
+
----------------
nit: please move the definition of `BestEpiPlan` closer to its use (above line 10438)


================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll:42
+; CHECK:       vec.epilog.vector.body:
+; CHECK:         store <8 x i8>
+; CHECK:       for.body:
----------------
Can you add a few more check lines here? e.g. I'm not sure if the interleaving is disabled for the epilogue loop (if not, then it would need a check for a second store), or if this is actually a loop with a back-edge to vec.epilog.vector.body, and what the increment would be. I assume it's `8` given `<8 x i8>`, but it would be good to have a CHECK line for it.


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

https://reviews.llvm.org/D109432



More information about the llvm-commits mailing list