This is an archive of the discontinued LLVM Phabricator instance.

[LV] Run loop-simplify and LCSSA explicitly instead of "requiring" them
ClosedPublic

Authored by mkuper on Jan 18 2017, 11:55 AM.

Details

Summary

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.

Diff Detail

Event Timeline

mkuper created this revision.Jan 18 2017, 11:55 AM
mssimpso accepted this revision.Jan 18 2017, 1:05 PM

This makes sense - we shouldn't be modifying the program where we don't need to. LGTM.

This revision is now accepted and ready to land.Jan 18 2017, 1:05 PM
This revision was automatically updated to reflect the committed changes.