This is an archive of the discontinued LLVM Phabricator instance.

[mlir][linalg] Support tile+peel with TiledLoopOp
ClosedPublic

Authored by springerm on Sep 21 2021, 10:44 PM.

Details

Summary

Only scf.for was supported until now.

Depends On D110214

Diff Detail

Event Timeline

springerm created this revision.Sep 21 2021, 10:44 PM
springerm requested review of this revision.Sep 21 2021, 10:44 PM
nicolasvasilache accepted this revision.Sep 22 2021, 4:29 AM
This revision is now accepted and ready to land.Sep 22 2021, 4:29 AM
pifon2a accepted this revision.Sep 22 2021, 5:42 AM
pifon2a added inline comments.
mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
330

Would it make sense to create a method that does loop peeling for options.peeledLoops?

331–333

can this assertion be hoisted from the loop?

336–338

nit: what about moving these assertions into peelLoop func?

mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
583–592

neat!

springerm marked 2 inline comments as done.Sep 23 2021, 6:24 PM
springerm added inline comments.
mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
331–333

It could, but then I would have to duplicate the if-check in the preceding line.

This revision was automatically updated to reflect the committed changes.