Как использовать проход -block-размещения в LLVM
Сейчас я работаю над проектом, включающим профильную оптимизацию. Я нахожу документацию по адресу http://llvm.org/docs/Passes.html именем прохода LLVM -block-placement
сделать простую ПГО. Мне интересно, какой инструмент и флаги мне следует использовать для запуска этого прохода.
Я обнаружил, что этот пропуск находится в llvm/lib/CodeGen/MachineBlockPlacement.cpp
, а также MachineFunctionPass
не может быть запущен из opt
или же bugpoint
, Согласно странице руководства ООО, я не могу напрямую использовать -block-placement
вместо использования -print-after=block-placement
или же -print-before=block-placement
, Однако использование этих флагов не дает никаких других результатов. Я также использовал --debug-pass=Executions
в llc
, И пила -block-placement
передан в качестве аргумента, но пропуск не был выполнен. Мне интересно, если пройти -block-placement
запускается автоматически, и я должен дать другие флаги pgo-файла, чтобы вызвать его, или проход может выполняться индивидуально.