LLVM Instruction Scheduling
Asked Answered
B

1

7

As is noted in Getting Started with LLVM Core Libraries there are three distinct instruction schedulers in the LLVM backend. One of them runs before register allocation and it can be selected using the -pre-RA-sched option. The other two run after register allocation. How can I choose or disable each of these three schedulers? Do they have any interferences which each other?

Beckham answered 16/2, 2017 at 23:8 Comment(0)
U
5

See llc --help-hidden for more details. Here are three options corresponding to the pre-RA SDNode, pre-RA MI and post-RA MI scheduling.

 -pre-RA-sched        - Instruction schedulers available (before register allocation):
 -enable-misched      - Enable the machine instruction scheduling pass.
 -enable-post-misched - Enable the post-ra machine instruction scheduling pass.

You can select exactly which scheduler to be used in pre-RA SDNode scheduling, but not for the others.

Untaught answered 19/4, 2017 at 14:37 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.