Provide an API isVectorizable(Loop *L, int *VF) to the PolyhedralInfo interface to check for vectorization legality of a loop.
If loop is not trivially vectorizable and the minimum dependence distance is greater than the input VF, update the VF with the minimum dependence distance of the loop.
Currently, the interface checks for only constant dependence distances.
We will add support for parametric distance in the future.
Depends on D21486
I am a but confused with the terminology. What is the difference between "dependence distance" and "vectorization factor? Do they have the same meaning as "SIMD width"?