Update skeleton creation logic to use SCEV expansion results from
expanding the pre-header. This avoids another set of SCEV expansions
that may happen after the CFG has been modified.
Fixes #58811.
Depends on D147964.
| Paths 
 |  Differential  D147965  
[LV] Use VPValue to get expanded value for SCEV step expressions. ClosedPublic Authored by fhahn on Apr 10 2023, 12:52 PM. 
Details Summary Update skeleton creation logic to use SCEV expansion results from Fixes #58811. Depends on D147964. 
Diff Detail 
 Event Timeline
 
 fhahn added inline comments. 
 fhahn marked 3 inline comments as done.Comment Actions Address latest comments, thanks! Updated to only pass const VPTransformState & and cache SCEV expansion mapping in state directly, use that. fhahn added inline comments. 
 fhahn added inline comments. 
 fhahn retitled this revision from [LV] Use VPValue to get expanded value for SCEV step expressions (WIP). to [LV] Use VPValue to get expanded value for SCEV step expressions..May 8 2023, 4:47 AM 
 
 fhahn marked 7 inline comments as done.Comment Actions Address latest comments, thanks! 
 Comment Actions Looks good to me, thanks! Minor last nits. 
 This revision is now accepted and ready to land.May 9 2023, 6:00 AM This revision was landed with ongoing or failed builds.May 11 2023, 8:50 AM Closed by commit rG236a0e82df37: [LV] Use VPValue to get expanded value for SCEV step expressions. (authored by fhahn).  ·  Explain Why This revision was automatically updated to reflect the committed changes. fhahn marked 6 inline comments as done. Comment Actions Push unsubmitted comments 
 
Revision Contents 
Diff 521335 llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
 llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
 
 llvm/lib/Transforms/Vectorize/VPlan.h
 llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
 llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
 llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
 llvm/test/Transforms/LoopVectorize/pointer-induction.ll
 llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Return value should be documented. Suffice that it be a Map or function?