Como se observa em Introdução às bibliotecas principais do LLVM Existem três agendadores de instruções distintas no backend do LLVM. Um deles é executado antes da alocação de registro e pode ser selecionado usando o -pre-RA-sched
opção. Os outros dois correm após a alocação de registradores. Como posso escolher ou desabilitar cada um desses três agendadores? Eles têm alguma interferência que um com o outro?
Respostas:
0 para resposta № 1Vejo llc --help-hidden
para mais detalhes. Aqui estão três opções correspondentes ao SDNode pré-RA, ao MI pré-RA e ao agendamento de MI pós-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.
Você pode selecionar exatamente qual agendador deve ser usado no agendamento SDNode pré-RA, mas não para os outros.