[Mlir-commits] [mlir] Refactor LoopFuseSiblingOp and support parallel fusion (PR #94391)
Ivan Butygin
llvmlistbot at llvm.org
Wed Jun 5 05:49:25 PDT 2024
Hardcode84 wrote:
> as far as i can tell, this change wouldn't really benefit anything if it's not shared by pass and transform. it would just be replacing inline code with a static function. am i missing something?
Ok, if you can pull `isOpSibling` from transforms into somewhere like `Utils.hpp` you can use it instead.
> as a related side note: i do think the iteration domain check should surely be shared. In which case i think having it in Utils makes sense. would you agree?
Ideally, it should be somewhere in utils, operating on `LoopLikeInterface` instead of concrete ops types, but looks like `LoopLikeOpInterface` currently doesn't support multiple steps/upper/lower bounds so it won't work for multidim `scf.forall` and `scf.parallel`.
Updating `LoopLikeOpInterface` to support them will also be a good refactoring, but it should go in separate PR.
https://github.com/llvm/llvm-project/pull/94391
More information about the Mlir-commits
mailing list