76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# PR-06.2 - OptimizeIRVM Semantic Equivalence Harness
|
|
|
|
## Briefing
|
|
|
|
A etapa `OptimizeIRVM` ja possui passes reais, mas a prova de equivalencia semantica ainda esta parcial.
|
|
|
|
Esta PR cria harness sistematico para validar comportamento observavel com `opt on/off`.
|
|
|
|
## Motivation
|
|
|
|
### Dor atual que esta PR resolve
|
|
|
|
1. Evidencia de equivalencia semantica ainda e fixture-level limitada.
|
|
2. Itens `G21-6.2`, `G21-7.1` e `G21-9.1` permanecem `partial`.
|
|
3. Risco de pass regressivo sem deteccao ampla.
|
|
|
|
## Target
|
|
|
|
Harness de equivalencia deterministica com corpus de CFG e chamadas host/intrinsic.
|
|
|
|
## Dependencies
|
|
|
|
Prerequisitos diretos:
|
|
|
|
1. `PR-05.6` (pass manager real).
|
|
2. `PR-05.7` (Gate I estrito em CI).
|
|
|
|
## Scope
|
|
|
|
1. Framework de comparacao `optimized` vs `non-optimized`.
|
|
2. Fixtures representativas:
|
|
- sequencias lineares,
|
|
- condicional com joins,
|
|
- loops simples,
|
|
- hostcall/intrinsic.
|
|
3. Assercoes de invariantes:
|
|
- semantica observavel equivalente,
|
|
- determinismo de output,
|
|
- contratos de slots preservados.
|
|
|
|
## Non-Goals
|
|
|
|
1. Nao inclui prova formal completa.
|
|
2. Nao adiciona otimizacoes agressivas interprocedurais.
|
|
|
|
## Method
|
|
|
|
### O que deve ser feito explicitamente
|
|
|
|
1. Expor no teste caminho `optimize on/off` para o mesmo `IRVMProgram`.
|
|
2. Comparar resultado observavel em nivel de artefato e checagens Gate I/S-U.
|
|
3. Cobrir casos negativos em que pass invalido deve falhar por perfil/contrato.
|
|
4. Atualizar a matriz para converter requisitos `partial` quando cobertos.
|
|
|
|
## Acceptance Criteria
|
|
|
|
1. Existe harness reutilizavel de equivalencia `opt on/off`.
|
|
2. Cobertura de CFG e chamadas host/intrinsic com assercao de equivalencia.
|
|
3. `G21-6.2`, `G21-7.1`, `G21-9.1` evoluem para `pass` se cobertura completa.
|
|
|
|
## Tests
|
|
|
|
1. Novos testes no pacote `backend/irvm` e/ou `integration`.
|
|
2. Reexecucao obrigatoria:
|
|
- `:prometeu-compiler:prometeu-build-pipeline:test`
|
|
|
|
## Affected Documents
|
|
|
|
1. `docs/general/specs/21. IRVM Optimization Pipeline Specification.md`
|
|
2. `docs/general/specs/19. Verification and Safety Checks Specification.md`
|
|
3. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md`
|
|
|
|
## Open Questions
|
|
|
|
Sem bloqueios arquiteturais.
|