[llvm] [LV][EVL] Support in-loop reduction using tail folding with EVL. (PR #90184)
Mel Chen via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 20 05:40:48 PDT 2024
================
@@ -1446,23 +1454,39 @@ bool VPlanTransforms::tryAddExplicitVectorLength(VPlan &Plan) {
for (VPValue *HeaderMask : collectAllHeaderMasks(Plan)) {
for (VPUser *U : collectUsersRecursively(HeaderMask)) {
- auto *MemR = dyn_cast<VPWidenMemoryRecipe>(U);
- if (!MemR)
+ VPRecipeBase *NewRecipe = nullptr;
+ auto *CurRecipe = dyn_cast<VPRecipeBase>(U);
+ if (!CurRecipe || CurRecipe->getNumDefinedValues() > 1)
----------------
Mel-Chen wrote:
Because not all recipes are single def, for example, VPInterleaveRecipe.
https://github.com/llvm/llvm-project/pull/90184
More information about the llvm-commits
mailing list