Планирование инструкций LLVM
Как отмечено в Приступая к работе с базовыми библиотеками LLVM, в бэкэнде LLVM есть три различных планировщика команд. Один из них запускается до выделения регистра, и его можно выбрать с помощью -pre-RA-sched
вариант. Два других запускаются после выделения регистра. Как я могу выбрать или отключить каждый из этих трех планировщиков? Есть ли у них какие-либо помехи друг другу?
1 ответ
Увидеть llc --help-hidden
Больше подробностей. Вот три варианта, соответствующие SD-узлу до RA, MI перед RA и планированию MI после RA.
-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.
Вы можете точно выбрать, какой планировщик будет использоваться при планировании SDNode до RA, но не для других.