This is an archive of the discontinued LLVM Phabricator instance.

[mlir] Add an interface to allow operations to specify how they can be tiled.
ClosedPublic

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

Details

Summary

An interface to allow for tiling of operations is introduced. The
tiling of the linalg.pad_tensor operation is modified to use this
interface.

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

@nicolasvasilache as we discussed from https://reviews.llvm.org/D106406, I used the interface to replace the implementation of the tiling of pad tensor operation. PTAL. (Also FYI @springerm )

rriddle added inline comments.Aug 23 2021, 11:07 PM
mlir/lib/Interfaces/TilingInterface.cpp
17

Prefer using namespace mlir instead.

springerm accepted this revision.Aug 24 2021, 4:12 PM
springerm added inline comments.
mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
661

nit: no space

This revision is now accepted and ready to land.Aug 24 2021, 4:12 PM
nicolasvasilache added a subscriber: maheshkhanwalkar.

Great, thanks @maheshkhanwalkar !

mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
1241

the extra {zero, one, one} is unclear to me, could you add some comments ?

1242

extra braces

1262

Could we expose all these in an AffineArithBuilder similar to ArithBuilder? (I realized they were moved but it would still be useful IMO, not necessarily in this commit).

mravishankar marked 4 inline comments as done.

Rebase and address comments.

Fix build files

This revision was landed with ongoing or failed builds.Aug 30 2021, 4:31 PM
This revision was automatically updated to reflect the committed changes.