[PATCH] D69998: [MacroFusion] Create the missing artificial edges if there are more than 2 SU fused.

Qiu Chaofan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 10 19:29:24 PST 2019


qiucf added a comment.

In D69998#1739692 <https://reviews.llvm.org/D69998#1739692>, @jsji wrote:

> #2 might not be necessary, as you mentioned, all existing targets only support back-to-back fusion. If we want to extend it for chained-fusion (3 or more in same dependency chain), then I believe we need more changes than adding data dependencies. Also need additional tests for some target that support it (maybe RISC-V?)


`AMDGPU` supports such chains longer than 2: SIInstrInfo::shouldClusterMemOps <https://github.com/llvm/llvm-project/blob/3d3445e3e691a34a72643d07e675c618adeddafc/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp#L444-L446>. And only adding artificial edges in context of `back-to-back` fusion will indeed bring unexpected results in such test cases.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69998/new/

https://reviews.llvm.org/D69998





More information about the llvm-commits mailing list