[PATCH] D70066: [MacroFusion] Limit the max fused number as 2 to reduce the dependency

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 09:03:46 PST 2019


fhahn added a comment.

I am not sure if this example best illustrates the issue. Is your main concern here potentially longer dependency chains?

The original test case explicitly checks the 2 fused pairs and without knowing details about the micro architecture, there is no way of telling if it is beneficial to schedule `add; add; sub` adjacent. The reason 2 pairs are created is because for `fuse-arith-logic` patterns, the opcode of the first MI can also match the second MI. I think fuse-arith-logic is the only fusion pattern on AARch64 that has this property. And only the ExynosM4 has it enabled. I think @evandro originally added those patterns, maybe he can shed some light on the benefits?

Alternatively, are there similar cases for other targets?


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

https://reviews.llvm.org/D70066





More information about the llvm-commits mailing list