This patch introduces inner loop vectorization to the VPlan native path
and code generation for VPInstruction based VPlans using the
Currently we only support vectorization with user-provided vectorization
factor and assume an interleave count of 1. We also do not run interleaved
It also enables the Vplan native path for some existing inner loop
vectorizer tests. All tests which set the vector width should pass when
run through the VPlan native path.
This is a stepping stone to get code generation for outer loops and also
for the migration to VPInstruction based codegen. For outer loop
vectorization, we have to add support for generating code for the inner
loop PHI nodes and induction variables and adjust the cost model to
widen/scalarize the right instructions.
To get VPInstruction based codegen, we can replace 1 recipe type at a
time, while we can still test inner loop vectorization through the VPlan