# PR-05.6 - OptimizeIRVM Real Deterministic Passes ## Briefing A etapa `OptimizeIRVM` está corretamente posicionada no pipeline, mas ainda opera como `NoOp`. Esta PR introduz o primeiro conjunto de passes reais, seguros e determinísticos, mantendo equivalência semântica e compatibilidade de perfil. ## Motivation ### Dor atual que esta PR resolve 1. Etapa de otimização existe formalmente, mas não entrega valor técnico. 2. Difícil sustentar evolução de performance e limpeza de IRVM sem regressão. 3. Falta de contrato de execução de pass manager com evidência forte. ## Target `OptimizeIRVMService` com pass manager produtivo e baseline de passes v1. ## Scope 1. Pass manager determinístico com ordem estável. 2. Passes iniciais semânticamente conservadores. 3. Validação antes/depois de cada pass. ## Non-Goals 1. Não inclui otimizações agressivas interprocedurais. 2. Não inclui JIT/runtime optimization. ## Method ### O que deve ser feito explicitamente 1. Implementar baseline de passes v1: - eliminação de bloco inalcançável, - normalização de labels redundantes, - simplificação de salto para próximo PC. 2. Manter invariantes obrigatórias: - sem mudança de `vm_profile`, - sem introdução de opcode fora do perfil, - sem alteração de contratos de slots/retorno observáveis. 3. Validar programa antes e após cada pass. 4. Registrar nome/ordem de pass para rastreabilidade de regressão. ## Acceptance Criteria 1. `OptimizeIRVM` deixa de ser apenas `NoOp` no caminho padrão. 2. Mesma entrada produz mesma saída otimizada (determinismo). 3. Testes de equivalência semântica passam para fixtures representativas. 4. Nenhum pass viola perfil de VM ou contrato de emissão. ## Tests 1. Testes unitários por pass com entradas mínimas e edge cases. 2. Testes de pipeline comparando saída otimizada vs não otimizada para equivalência. 3. Testes negativos para pass que tenta alterar perfil/semântica. ## Affected Documents 1. `docs/general/specs/21. IRVM Optimization Pipeline Specification.md` 2. `docs/general/specs/19. Verification and Safety Checks Specification.md` ## Open Questions Sem bloqueios arquiteturais para baseline v1.