This changes the vectorizer to explicitly use the loopsimplify and lcssa utils, instead of "requiring" the transformations as if they were analyses.
This is not NFC, since it changes the LCSSA behavior - we no longer run LCSSA for all loops, but rather only for the loops we expect to modify. It doesn't look like we depend on LCSSA anywhere in legality/profitability analysis, except what was just fixed in rL292424.