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

31 lines
1.1 KiB
Markdown

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