[PATCH] D36866: [ARM] Add PostRAScheduling option

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 12:59:43 PDT 2017


MatzeB added a comment.

In https://reviews.llvm.org/D36866#848488, @samparker wrote:

> Hi Matthias,
>
> I agree that this would be nice, so I've had a play around it seems non-trivial to get a default configuration without breaking some tests. It is simple enough to predicate the PostRA scheduler on the availability of Thumb2 but this causes breakages for Swift. Do you know why we don't want to enable PostRA for MIScheduled arm cores? PostRA is used on almost all of the AArch64 cores along with the MIScheduler, so I'm wondering why the two approaches are different.




- I would skip the check of the `SchedModel`; you should be able to set the subtarget feature on all CPUs using such a schedmodel instead.
- Similarily I thought it should be possible to check each CPU whether it uses the machine scheduler today or matches (!Thumb || Thumb2) and then add/remove the PostRA subtarget feature accordingly.
- AFAIK we disabled the post ra scheduler on Swift/Cyclone because the out of order execution hides instruction latencies in nearly all cases so spending time on the post-ra scheduler didn't seem like a good use of compiletime.


Repository:
  rL LLVM

https://reviews.llvm.org/D36866





More information about the llvm-commits mailing list