This is an archive of the discontinued LLVM Phabricator instance.

[mlir][VectorOps] Expose SuperVectorizer as a utility
ClosedPublic

Authored by dcaballe on Jul 21 2020, 6:46 PM.

Details

Summary

This patch refactors a small part of the Super Vectorizer code to
a utility so that it can be used independently from the pass. This
aligns vectorization with other utilities that we already have for loop
transformations, such as fusion, interchange, tiling, etc.

Diff Detail

Event Timeline

dcaballe created this revision.Jul 21 2020, 6:46 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 21 2020, 6:46 PM
nicolasvasilache accepted this revision.Jul 22 2020, 1:47 AM

Thanks Diego!
Note that a lot of this code is old and I have plans to refactor for more general usefulness between affine and linalg, but it is not highest pri for me for now.
In the meantime, exposing more things as "composable transformations" and less as passes is great, thank you for the patch!

This revision is now accepted and ready to land.Jul 22 2020, 1:47 AM
simoll added a subscriber: simoll.Jul 22 2020, 2:08 AM
This revision was automatically updated to reflect the committed changes.