[Mlir-commits] [mlir] [MLIR] Add continuous tiling to TileUsingForOp (PR #82792)

Oleksandr Alex Zinenko llvmlistbot at llvm.org
Tue Feb 27 06:21:00 PST 2024


https://github.com/ftynse commented:

I left a bunch of mostly stylistic comments that I think are useful regardless of this code going in as is or not. I only commented once a particular kind of issues and there may be other issues of the same kind in the code, please fix all.

Overall, this looks quite interesting. I agree with other reviewers in my desire to see more code reuse. It is possible to alter the existing code to allow for more reuse if needed. If this is approached from the transform dialect perspective, it is possible to decompose this transformation into pieces similar to what was implemented for multisize tiling in https://github.com/llvm/llvm-project/blob/900bea9b1ce095123c03e5bb8834d8fb168378a8/mlir/test/Dialect/Linalg/multisize-tiling-full.mlir#L4. Specifically, one can separate emission on the IR computing tile sizes (before all loops since they won't change), splitting the operation into pieces of appropriate size, and tiling those pieces. I suppose that C++ code can be structured similarly and reuse the existing functions for splitting/tiling so in the end only the size computation is emitted. If a higher-level transform operation is still desired, I'd consider implementing it as a rewrite on the transform dialect itself, rather than as complex logic within C++. This was considered for multisize tiling, but not implement given the lack of interest.

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


More information about the Mlir-commits mailing list