2.5 KiB
2.5 KiB
PR-09.7 - Compiler Normalization to ISA Intrinsic Registry Artifact
Briefing
Apos estabelecer o artefato unico do registry (PR-09.6), o compiler precisa consumir exclusivamente esse artefato e remover caminhos residuais de dual-authoring.
Motivation
Dor atual que esta PR resolve
- Compiler ainda pode depender de representacao local paralela.
- Teste de paridade atual com parse de
builtins.rse acoplamento fragil de formato. - Falta um caminho de consumo unico no pipeline backend.
Target
Normalizar o lado compiler para source-of-truth unico:
IRVMIntrinsicRegistrycarregando apenas o artefato canonico ISA,- remover/encapsular validacoes que dependem de parsing textual de runtime internals,
- reforcar gate de consistencia do consumidor compiler.
Dependencies
Prerequisito direto:
PR-09.6
Scope
- Ajustar
IRVMIntrinsicRegistrypara modo canonical-only. - Revisar testes de paridade:
- principal: paridade com artefato canonico,
- opcional/informativo: runtime-backed check separado.
- Garantir mensagens de erro e diagnostico estaveis para registry invalido.
Non-Goals
- Nao alterar implementacao de intrinsics no runtime.
- Nao mover ownership de docs runtime nesta PR.
Method
O que deve ser feito explicitamente
- Consolidar parser/loader do registry no compiler com contrato estrito.
- Substituir assercoes hardcoded por fixtures derivadas do artefato.
- Separar teste de compatibilidade runtime:
- nao bloquear desenvolvimento local quando runtime repo ausente,
- bloquear em modo strict/CI quando configurado.
- Atualizar docs de contribuicao do compiler para fluxo de update de intrinsics.
Acceptance Criteria
- Compiler nao tem mais fonte duplicada de mapping de intrinsic IDs.
LowerToIRVMServiceresolve IDs finais exclusivamente via artefato canonico.- Suite de testes backend cobre:
- carregamento valido,
- invalid registry,
- mismatch detectavel em strict mode.
Tests
:prometeu-compiler:prometeu-build-pipeline:test --tests *IRVMIntrinsicRegistry*:prometeu-compiler:prometeu-build-pipeline:test --tests *LowerToIRVMServiceTest*:prometeu-compiler:prometeu-build-pipeline:test --tests *BackendConformanceMatrixSpecTest*
Affected Documents
docs/general/specs/20. IRBackend to IRVM Lowering Specification.mddocs/general/specs/22. Backend Spec-to-Test Conformance Matrix.mddocs/pbs/pull-requests/INDEX.md
Open Questions
- Nenhuma bloqueante para lado compiler.