This is an archive of the discontinued LLVM Phabricator instance.

Support VectorTransfer splitting on writes also.
ClosedPublic

Authored by tpopp on May 10 2021, 2:12 AM.

Details

Summary

VectorTransfer split previously only split read xfer ops. This adds
the same logic to write ops. The resulting code involves 2
conditionals for write ops while read ops only needed 1, but the created
ops are built upon the same patterns, so pattern matching/expectations
are all consistent other than in regards to the if/else ops.

Diff Detail

Event Timeline

tpopp created this revision.May 10 2021, 2:12 AM
tpopp requested review of this revision.May 10 2021, 2:12 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 10 2021, 2:12 AM
nicolasvasilache accepted this revision.May 10 2021, 4:26 AM
nicolasvasilache added inline comments.
mlir/lib/Dialect/Vector/VectorTransforms.cpp
2665

nit: formatting

2804

Early return success(); here and drop the else plz.

mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
207

don't hardcode #map0, either capture it or wildcard it away.

342

Please drop these {{\[}}, you already captured properly (i.e. *without* the %, so you should just be able to write [%[[A]]])

This revision is now accepted and ready to land.May 10 2021, 4:26 AM
tpopp updated this revision to Diff 344315.May 11 2021, 1:32 AM
tpopp marked 3 inline comments as done.

Respond to comments.

tpopp marked an inline comment as done.May 11 2021, 1:33 AM
This revision was landed with ongoing or failed builds.May 11 2021, 1:33 AM
This revision was automatically updated to reflect the committed changes.