This patch turns updates VPInstruction to manage the value it defines
using VPDef. The VPValue is used during VPlan construction and
codegeneration instead of the plain IR reference where possible.
Details
Details
- Reviewers
Ayal gilr rengolin dmgreen - Commits
- rGc0c0ae16c331: [VPlan] Make VPInstruction a VPDef
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Updated to keep VPWidenMemoryInstructionRecipe a VPValue which is then added to its VPDef. This simplifies things a lot here.
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
7802 | Is this still possible? Shouldn't e.g. WidenMemoryInstruction, InterleaveGroup, WidenCall recipes hold an empty VPDef for stores / functions returning void? |
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
7802 | Good catch, with the VPDef approach, checking for VoidTy is not needed any longer. Removed! |
Is this still possible? Shouldn't e.g. WidenMemoryInstruction, InterleaveGroup, WidenCall recipes hold an empty VPDef for stores / functions returning void?