This is an archive of the discontinued LLVM Phabricator instance.

[mlir][vector] Support transfer op on tensor optimizations
ClosedPublic

Authored by ThomasRaoux on Jan 5 2021, 7:28 PM.

Details

Summary

Support store to load forwarding and dead store transformations for transfer op on tensor.

Diff Detail

Event Timeline

ThomasRaoux created this revision.Jan 5 2021, 7:28 PM
ThomasRaoux requested review of this revision.Jan 5 2021, 7:28 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 5 2021, 7:28 PM
mlir/lib/Dialect/Vector/VectorTransferOpTransforms.cpp
224

How about having a transferEncompasses(A, B) and implementing it for the equality case for now?

232

xxxIndices

237

else loop forever ?

I am not sure I understand the case disjunction ?
Seems like things would break in the partial overlap case?

245

same Q

252

same question here.

Fix bug caught in review and add extra test. Address more review feedback.

ThomasRaoux marked 2 inline comments as done.Jan 6 2021, 9:41 AM
ThomasRaoux added inline comments.
mlir/lib/Dialect/Vector/VectorTransferOpTransforms.cpp
224

I moved this logic and did the same for the read case.

232

Fixed, this is depend on the hoisting review, I'm updating this patch as well.

237

This is a bug indeed. Thanks for catching this. I fixed it and added a test to handle that case.

nicolasvasilache accepted this revision.Jan 6 2021, 10:01 AM
This revision is now accepted and ready to land.Jan 6 2021, 10:01 AM