[PATCH] D73509: [MachineScheduler] relax successor chain on clustering

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 12:58:53 PST 2020


rampitec added a comment.

After some meditation in gdb I have found that BaseMemOpClusterMutation::apply() in fact does not check all control dependencies and just breaks at the first one. I.e. D71717 <https://reviews.llvm.org/D71717> just skips some SDeps preferring another one. More or less we are lucky to find a correct SDep which may form a useful chain. We may be not that lucky if order of the SDeps is different and we would somehow use another register (for example data register). We probably need a callback to check if that register belongs to pointer operand and skip it otherwise.

Meanwhile D71717 <https://reviews.llvm.org/D71717> looks good as artificial edge shall not create a proper chain anyway. This change I will likely abandon as it will not produce any visible impact if D71717 <https://reviews.llvm.org/D71717> is submitted. Its only impact is the reduction of artificial edges.


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

https://reviews.llvm.org/D73509





More information about the llvm-commits mailing list