This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Use PostRA machine scheduler when FeatureUseMISched is set
ClosedPublic

Authored by evgeny777 on Oct 19 2017, 10:22 AM.

Details

Summary

With D37055 and D35935 it becomes easier to enable machine scheduler for specific AArch32 CPU. However I still have to pass -misched-postra, otherwise old SD scheduler is used on post RA pass and quite ofthen this produces worse code compared to not having post RA scheduling at all. This patch fixes it.

Diff Detail

Repository
rL LLVM

Event Timeline

evgeny777 created this revision.Oct 19 2017, 10:22 AM
fhahn accepted this revision.Oct 19 2017, 10:41 AM

Thanks for working on this Eugene! That's one change I meant to put up, but never got around to.

LGTM, but please hold of committing a bit, in case other people have additional thoughts. I think it might be a good idea to add a test checking that +use-misched enables the PostRA MachineScheduler (and the MachineScheduler, as it seems I failed to add a test in D35935 :()

This revision is now accepted and ready to land.Oct 19 2017, 10:41 AM

Also, this should not impact any of the cores that enable the MachineScheduler (swift and cyclone), as they disable PostRA scheduling.

Hi Eugene:
As Florian mentioned, it would be good having a test. No need to make a new test, just add a new run line to existing misched test
Thanks

evgeny777 updated this revision to Diff 119639.Oct 20 2017, 2:27 AM

Thanks for looking at it! Diff updated

This revision was automatically updated to reflect the committed changes.