[Mlir-commits] [mlir] [mlir][TilingInterface] Use `LoopLikeOpInterface` in tiling using SCF to unify tiling with `scf.for` and `scf.forall`. (PR #77874)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Jan 17 23:55:55 PST 2024


MaheshRavishankar wrote:

> I agree with @matthias-springer : it's not clear to me how this belongs to the LoopLikeInterface! (but also it's not documented, so I don't even know what this is doing really)

I think it depends on what `LoopLikeInterface` should cover. Should `scf.forall` be part of the interface or not, cause it doesnt actually yield any value. This loops construct allows for parallel insertion of tiles into the result. So if something that has to unify how yielded values are handled, this is one way I can think of. Of course this goes hand-in-hand with tiling cause that is one way to create parallel work. See example in the documentation I added now (sorry I missed it earlier).
Also if a loop doesnt know how to handle tiles, it can always return a failure. So it isnt a required method to implement. So I think it makes sense to add it to the interface. This is similar to the `replaceWithAdditionalYields` method. This method does not make sense for `scf.forall` so it should return a failure for that method.

https://github.com/llvm/llvm-project/pull/77874


More information about the Mlir-commits mailing list