This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Enable post-RA sched for more cores
Needs RevisionPublic

Authored by samparker on Dec 31 2019, 3:23 AM.

Details

Summary

Bring the remaining Cortex cores, using the A53 and A57 models, in line with the other targets by enabling post-ra scheduling. The Cortex-A72 also now uses the FuseLiteral flag, the same as the Cortex-A57, as the optimization guide recommends. The Cortex-A73 also gains this flag.

Diff Detail

Event Timeline

samparker created this revision.Dec 31 2019, 3:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 31 2019, 3:23 AM
fhahn added a comment.Dec 31 2019, 4:20 AM

This makes sense, assuming you are happy with the performance numbers you are seeing for Arm cores.

But I am not sure what the tests check exactly. Wouldn’t it be sufficient to check if the post ra scheduler is run per default for the additional cores?

For the other tests, it would be helpful to simplify the MIR (I think you should be able to get rid of the IR) and add a comment saying what this checks. And maybe precommit them and just have the diff of what changed here.

llvm/lib/Target/AArch64/AArch64.td
542

This is unrelated to the postra scheduling, right? It would be slightly better to split it off and have it as separate change, with tests just for the feature

samparker marked an inline comment as done.Dec 31 2019, 6:44 AM

But I am not sure what the tests check exactly. Wouldn’t it be sufficient to check if the post ra scheduler is run per default for the additional cores?

Yes, this is all I really what to test... what's the easiest way to do this?

llvm/lib/Target/AArch64/AArch64.td
542

Ok.

fhahn added a comment.Dec 31 2019, 6:52 AM

But I am not sure what the tests check exactly. Wouldn’t it be sufficient to check if the post ra scheduler is run per default for the additional cores?

Yes, this is all I really what to test... what's the easiest way to do this?

One way would be just to check the debug output. Maybe not the most elegant way, but I am not sure if there’s a way to print the executed passes as with opt

fhahn requested changes to this revision.Sep 18 2020, 6:01 AM

(marking as changes requested to indicate that there's an outstanding comment)

This revision now requires changes to proceed.Sep 18 2020, 6:01 AM