================
@@ -8520,7 +8561,29 @@ 
LoopVectorizationPlanner::tryToBuildVPlanWithVPRecipes(VFRange &Range) {
   // When not folding the tail, we know that the induction increment will not
   // overflow.
   bool HasNUW = Style == TailFoldingStyle::None;
-  addCanonicalIVRecipes(*Plan, Legal->getWidestInductionType(), HasNUW, DL);
+
+  VPValue *AliasMask = nullptr;
----------------
fhahn wrote:

If possible to do so in a separate transform, that would preferable IMO as now 
the general VPlan construction has a bunch of added complexity for something 
that is quite specific.

A similar approach was taken for adding various options to control tail-folding 
(`addActiveLaneMask`, `tryAddExplicitVectorLength`). This also has the 
advantage of keeping the code responsible to generate the new construct at a 
single place, rather than spreading it across multiple places?

Having it as a separate transform also allows to generate VPlans with different 
strategies (e.g. with and without this new mask) and pick the best option based 
on cost.

https://github.com/llvm/llvm-project/pull/100579
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to