[PATCH] D24855: MachineScheduler: Enable macro fusion in post-RA scheduler

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 17 20:58:16 PDT 2016

MatzeB added a comment.

In https://reviews.llvm.org/D24855#572495, @atrick wrote:

> On x86 it's meant to be a heuristic. If you think all subtargets should instead force macro-fusion before scheduling (and have benchmarks to prove it) then we should delete the code that implements the heuristic.

My experience has been that this mostly matters/changes the outcome when scheduling top-down, which currently happens only in the PostRAScheduler. The combination of PostRAScheduling and MacroOpFusion enabled only seems to happen in the BtVer2/Jaguar scheduling model at the moment for which I have no hardware to test. So I have no good way of benchmarking this (but also no indication why this would ever be good as a heuristic).

Anyway I to keep the possibility of weak edges, I'd add make shouldScheduleAdjacent() return an enum value to indicate whether weak/hard edges should be used. I'll update that in the next days.



More information about the llvm-commits mailing list