/ / LLVM Instruction Scheduling - llvm, agendamento, otimização de compiladores, instruções

LLVM Instruction Scheduling - llvm, agendamento, otimização do compilador, instruções

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 № 1

Vejo 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.