[llvm] [LV][EVL] Support in-loop reduction using tail folding with EVL. (PR #90184)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 19 05:35:04 PDT 2024


================
@@ -1411,11 +1411,19 @@ bool VPlanTransforms::tryAddExplicitVectorLength(VPlan &Plan) {
   // The transform updates all users of inductions to work based on EVL, instead
   // of the VF directly. At the moment, widened inductions cannot be updated, so
   // bail out if the plan contains any.
-  if (any_of(Header->phis(), [](VPRecipeBase &Phi) {
-        return (isa<VPWidenIntOrFpInductionRecipe>(&Phi) ||
-                isa<VPWidenPointerInductionRecipe>(&Phi));
-      }))
+  bool IncludeWidenInduction = any_of(Header->phis(), [](VPRecipeBase &Phi) {
+    return (isa<VPWidenIntOrFpInductionRecipe>(&Phi) ||
+            isa<VPWidenPointerInductionRecipe>(&Phi));
----------------
fhahn wrote:

```suggestion
    return isa<VPWidenIntOrFpInductionRecipe, VPWidenPointerInductionRecipe >(&Phi);
```

https://github.com/llvm/llvm-project/pull/90184


More information about the llvm-commits mailing list