[PATCH] D36381: [MISched] Add enableMachineScheduler function that checks enable-misched.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 12:23:22 PDT 2017

fhahn added a comment.

In https://reviews.llvm.org/D36381#834116, @atrick wrote:

> I don't understand the motivation here. The purpose of command line flags is to test functionality in isolation. If you want a test case to control both SelectionDag and MISched functionality, then you use two command line flags.

My motivation is to make sure we test the MachineScheduler in isolation, when using `-mi-sched`. The current behavior hides problems with MachineScheduler on ARM, as `-mi-sched` enables the MachineScheduler, but keeps the original strategy for SelectionDAG.

I think when we enable the MachineScheduler via the command line, we should also use SelectionDAG with the source order strategy, which is what the patch does. AFAIK SelectionDAG needs to be run with the MachineScheduler to bring the selection graph back into a linear order, but it should use source order in that case and leave all scheduling decisions to MachineScheduler.


More information about the llvm-commits mailing list