This is an archive of the discontinued LLVM Phabricator instance.

[mlir][Linalg] Drop output tensor from `linalg.pad_tensor` op.
ClosedPublic

Authored by mravishankar on Aug 23 2021, 11:03 PM.

Details

Summary

The output tensor was added for tiling purposes. With use of
TilingInterface for tiling pad operations, there is no need for an
explicit operand for the shape of result of linalg.pad_tensor
op. The interface allows the tiling pattern to query the value that
can be used for the "init" needed for tiling dynamically.

Depends On D108611

Diff Detail

Event Timeline

mravishankar created this revision.Aug 23 2021, 11:03 PM
mravishankar requested review of this revision.Aug 23 2021, 11:03 PM
springerm accepted this revision.Aug 24 2021, 3:56 AM

I think you can also delete the corresponding parseInferType and printInferType in LinalgOps.cpp. See D105459.

This revision is now accepted and ready to land.Aug 24 2021, 3:56 AM

Nice, thanks!

I'd expect some test failure on the transformation that pads + hoists padding which should have inserted new InitTensorOp, does everything pass for you?

I'd expect some test failure on the transformation that pads + hoists padding which should have inserted new InitTensorOp, does everything pass for you?

All the tests did pass. Maybe I fixed what was broken. The lit test fixes seemed simple.

Rebase and fix tests

I'd expect some test failure on the transformation that pads + hoists padding which should have inserted new InitTensorOp, does everything pass for you?

Some tests apparently were failing from the last time around I worked on it. Fixed those tests.

This revision was landed with ongoing or failed builds.Aug 31 2021, 11:12 AM
This revision was automatically updated to reflect the committed changes.