prometeu-studio/docs/pbs/pull-requests/PR-O3.1-irvm-control-flow-lowering-label-resolution.md

1.1 KiB

PR-O3.1 - IRVM Control-Flow Lowering and Label Resolution

Briefing

Expandir lowering para cobrir controle de fluxo com labels simbolicos internos e resolucao deterministica para offsets finais, alinhando o backend ao perfil quasi-ISA.

Target

  • LowerToIRVMService e modelo de instrucao IRVM.
  • Resolucao de labels para JMP/JMP_IF_*.
  • Validacoes de alvo de salto em fronteira de instrucao.

Method

  • Introduzir representacao intermediaria de labels no lowering.
  • Resolver labels para u32 relativo ao inicio da funcao antes da emissao.
  • Integrar com IRVMValidator para garantir alvos validos e paths terminados.

Acceptance Criteria

  • Fluxos com desvio condicional/incondicional sao emitidos corretamente.
  • Todos os saltos resolvidos apontam para fronteiras validas.
  • Caminhos alcancaveis sem terminador sao rejeitados deterministicamente.
  • Mesmo input gera mesmos offsets finais.

Tests

  • Testes novos de lowering/validator com CFG linear e com joins.
  • Casos negativos para alvo invalido e mismatch de altura de pilha em join.
  • Regressao para funcoes sem saltos.