[PATCH] D92132: [LV] Support widened induction variables in epilogue vectorization.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 29 04:24:22 PDT 2022


fhahn marked 4 inline comments as done.
fhahn added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:3193
            "Inconsistent information about additional bypass.");
     DenseMap<const InductionDescriptor *, Value *> ResumeValues;
     // We are going to resume the execution of the scalar loop.
----------------
rengolin wrote:
> unused?
This has been removed in the earlier change that did the refactoring, some for the return type fix.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7903
+
+    if (!any_of(Phi->blocks(), [&](BasicBlock *IncB) {
+          return EPI.EpilogueIterationCountCheck == IncB;
----------------
rengolin wrote:
> A comment here for the semantics of this would be nice
Added a comment, thanks.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10485
 
-        // Ensure that the start values for any VPReductionPHIRecipes are
-        // updated before vectorising the epilogue loop.
+        // Ensure that the start values for any VPWidenIntOrFpInductionRecipe, VPWidenPointerInductionRecipe and VPReductionPHIRecipes are updated before vectorizing the epilogue loop.
         for (VPRecipeBase &R : Header->phis()) {
----------------
rengolin wrote:
> 80 columns?
Thanks, formatting should be fixed.


================
Comment at: llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10495
+
+          PHINode *IndPhi = nullptr;
+          const InductionDescriptor *ID;
----------------
rengolin wrote:
> This code is hard to follow, perhaps a comment?
Thanks, added a comment.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D92132



More information about the llvm-commits mailing list