This patch is part of a proof of concept for vectorising a loop using
scalable vectors. The patch is shared for reference and there is no
expectation for this patch to land in the current form.
Some of the changes include:
- Change VFRange to use ElementCount for Start, End.
- Change buildVPlans to take an ElementCount
- Change buildVPlansWithVPRecipes to take an ElementCount
- Change LoopVectorizationCostModel::computeMaxVF to take an ElementCount.
- Change LoopVectorizationCostModel::computeFeasibleMaxVF to return an ElementCount.
This patch is NFC for fixed-width vectors.
I feel like a function called "inc" should mutate the thing being incremented. Morally, this is behaves like operator+=.
All uses currently of this function would be fine with these semantics with some small changes (that should probably be done anyways)