Split up tryToBuildVPlanWithVPRecipes into intial plan creation and
optimizations.
Depends on D154640.
Paths
| Differential D154644
[LV] Split off code to create initial VPlan (NFC). ClosedPublic Authored by fhahn on Jul 6 2023, 12:27 PM.
Details Summary Split up tryToBuildVPlanWithVPRecipes into intial plan creation and Depends on D154640.
Diff Detail
Event TimelineComment Actions Thanks for following-up with refactoring the excessive tryToBuildVPlanWithVPRecipes!
Comment Actions Restructure code as suggested by first only splitting off pure VPlan-to-VPlan optimizations. fhahn added inline comments. Comment Actions This looks good to me, thanks! Adding a couple of final nits.
This revision is now accepted and ready to land.Aug 4 2023, 2:52 AM fhahn marked 6 inline comments as done. Comment ActionsAddress cleanups, thanks! I am planning to land this soon.
This revision was landed with ongoing or failed builds.Aug 4 2023, 5:21 AM Closed by commit rGa6d673070963: [LV] Split off code to optimize initial VPlan (NFC). (authored by fhahn). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 547172 llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/VPlanTransforms.h
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
|
An alternative refactoring may be to outline the second "Now optimize the initial VPlan" part, rather than the first "build Initial VPlan" part. This could be done perhaps by introducing a new VPlanTransforms::process(VPlan) method which manages all passes, similar to the meta-pass createAndOptimizeReplicateRegions().