Similar to D92129, update VPWidenPHIRecipe to manage the start value as
VPValue. This allows adjusting the start value as a VPlan transform,
which will be used in a follow-up patch to support reductions during
epilogue vectorization.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Update after renaming to getLiveInIRValue.
Also updated documentation for VPWidenPHIRecipe to describe when the start value is managed as first operand.
Comment Actions
I wonder if the code from fixReductions() could be moved (almost as-is) to widenPHIInstruction() as a first step?
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
4595 | RK seems to be the only use of RdxDesc. Can be extracted in tryToCreateWidenRecipe() and stored as an ingredient in the recipe. | |
4599 | Intentionally assigning StartV to itself? (symmetry with the else clause?) |
Comment Actions
Thanks for the suggestion, I put up D94175 to move the code and keep RdxDesc in the recipe as a first step. The current patch is much simpler now.