diff options
| author | Ramkumar Ramachandra <ramkumar.ramachandra@codasip.com> | 2025-11-11 10:33:55 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-11 10:33:55 +0000 |
| commit | fdd52f5fe130fb8b98f4aed3d15aa0789cce6b40 (patch) | |
| tree | ea13fc9de3f06128cdbe34e306ab43d3fc0b6d64 /llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp | |
| parent | c3c4a886b5a6d409433396b5e289fad322e75d4c (diff) | |
[VPlan] Handle WidenGEP in narrowToSingleScalars (#166740)
This allows us to strip a special case in VPWidenGEP::execute.
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp index eab642678702..7eee51e9f2bb 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp @@ -1391,7 +1391,8 @@ static void narrowToSingleScalarRecipes(VPlan &Plan) { for (VPBasicBlock *VPBB : VPBlockUtils::blocksOnly<VPBasicBlock>( vp_depth_first_shallow(Plan.getVectorLoopRegion()->getEntry()))) { for (VPRecipeBase &R : make_early_inc_range(reverse(*VPBB))) { - if (!isa<VPWidenRecipe, VPWidenSelectRecipe, VPReplicateRecipe>(&R)) + if (!isa<VPWidenRecipe, VPWidenSelectRecipe, VPWidenGEPRecipe, + VPReplicateRecipe>(&R)) continue; auto *RepR = dyn_cast<VPReplicateRecipe>(&R); if (RepR && (RepR->isSingleScalar() || RepR->isPredicated())) |
