This patch tries to use an existing VPWidenCanonicalIVRecipe
instead of creating another step-vector for canonical
induction recipes in widenIntOrFpInduction.
This has the following benefits:
- First step to avoid setting both vector and scalar values for the same induction def.
- Reducing complexity of widenIntOrFpInduction through making things more explicit in VPlan
- Only need to splat the vector IV for block in masks.
CreateSplatIV() will now be called when unrolling only, i.e., when VF==1, so it creates and stores scalar values w/o actually Splatting into vectors. Update comment and name of lambda?