[Mlir-commits] [mlir] [mlir][scf] Extend fuse producer to multi-level candidates case (PR #97803)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Jul 17 13:15:15 PDT 2024


https://github.com/MaheshRavishankar requested changes to this pull request.

This PR is much easier to review... Ill ask a few more questions to help navigate this.

Trying to put all of this logic upstream is hard. This seems like a very special case where you already have someone that is partially tiling the code and you are trying to reuse some logic from tile and fuse for this case. But there is too much of an assumption being made that the loop structure you create is consistent with what tiling creates. In fact that assumption is already made by the implementation. That is why the current `mlir::tileAndFuseProducerOfSlice` is taking the loop nest generated by `MutableArrayRef<LoopLikeOpInterface> loops` as arguments. 
I'd like to understand if there is a way you can keep the logic of finding loops closer to your context and then consider if we need to change the implementation of how the producer is found by walking the loop nest and extract slice source definition chain. Does that question make sense?

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


More information about the Mlir-commits mailing list