如Getting Started with LLVM Core Libraries中所述,LLVM后端中有三个不同的指令调度程序。其中一个在寄存器分配之前运行,可以使用{{1}}选项进行选择。其他两个在寄存器分配后运行。如何选择或禁用这三个调度程序中的每一个?他们之间是否有任何干扰?
答案 0 :(得分:0)
有关详细信息,请参阅llc --help-hidden
。以下是对应于RA前SDNode,RA前MI和后RA MI调度的三个选项。
-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.
您可以准确选择要在RA前SDNode调度中使用的调度程序,但不能选择其他调度程序。