This patch updates computeFeasibleMaxVF to operate in 3 stages:
- Compute the maximum fixed and scalable vectorization factors by optimistically assuming the largest possible VFs and then gradually constrainting them based on legality restrictions.
- Check if UserVF can be used, given the matching MaxVF
- Pick feasible VF, clamp it to matching MaxVF (Currently FixedMaxVF).