[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