This uses the existing VPlan helpers to check whether there are scalar
uses of a phi recipe. It remove one of the few remaining dependencies on
the cost model from VPlan code generation.
Depends on D121612.
Paths 
  |  Differential  D121613  
[LV] Use usesScalars in widenPHIInstruction. ClosedPublic Authored by fhahn on Mar 14 2022, 9:42 AM. 
Details 
 Summary This uses the existing VPlan helpers to check whether there are scalar Depends on D121612. 
Diff Detail 
 Event Timelinefhahn added a child revision: D121615: [VPlan] Add VPWidenPointerInductionRecipe..Mar 15 2022, 2:43 AM Comment Actions Ship it! Ideally all other users of Cost->isScalarAfterVectorization() will also be refactored to query VPlan to retire this interface. 
 This revision is now accepted and ready to land.Mar 15 2022, 8:05 AM This revision was landed with ongoing or failed builds.Mar 17 2022, 6:16 AM Closed by commit rG151c14435037: [LV] Use usesScalars in widenPHIInstruction. (authored by fhahn).  ·  Explain Why This revision was automatically updated to reflect the committed changes. fhahn marked an inline comment as done. fhahn added a reverting change: rG582f8ef19fe7: [LV] Keep track of cost-based ScalarAfterVec in VPWidenPointerInd..Sep 19 2022, 10:14 AM 
Revision Contents 
Diff 416161 llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
 
 llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
  | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is a case where we now know all users use scalars more accurately, where previously we generated vectors redundantly?