Планирование инструкций 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, но не для других.

Другие вопросы по тегам