[llvm] r184705 - Temporarily enable MI-Sched on X86.

Tom Stellard tom at stellard.net
Tue Jun 25 13:19:38 PDT 2013


On Mon, Jun 24, 2013 at 09:13:21AM -0000, Andrew Trick wrote:
> Author: atrick
> Date: Mon Jun 24 04:13:20 2013
> New Revision: 184705
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=184705&view=rev
> Log:
> Temporarily enable MI-Sched on X86.
> 
> Sorry for the unit test churn. I'll try to make the change permanently
> next time.
> 

Hi Andy,

This breaks a few piglit tests that we use for testing Mesa with the
R600 backend.  I've tracked the problem down to the R600 target registering
its scheduler as the default using:

MachineSchedRegistry::setDefault(createR600MachineScheduler);

This is problematic, because the test program compiles code using the
R600 target and then the X86_64 target, so it ends up using the R600
scheduler on the X86_64 code, which does not work very well.

I'm looking at MachineScheduler::runOnMachineFunction() where the
scheduler is initialized, and I can't see any way to specify the scheduler
other than using the global registry.  Are we doing something wrong in
the R600 backend, or will we need to make the default scheduler a
property of the TargetSubtargetInfo class?

-Tom



More information about the llvm-commits mailing list