987 B
987 B
Scope & Assumptions (2025-09-19)
Current Execution Lines
- In-scope: PyVM (semantic reference), LLVM/llvmlite (AOT/EXE harness)
- Out-of-scope: Cranelift JIT and Rust MIR Interpreter (maintenance only during Phase‑15)
MIR14 Policy
- PHI-off at MIR: merges are represented by per-predecessor edge copies
- PHI synthesis is delegated to the LLVM harness (block-head PHIs, typed incoming)
- Verifier runs with
verify_allow_no_phi()and edge-copy checks
Parity & Evaluation
- Parity: PyVM vs LLVM output equivalence on curated smokes
- Metrics: runtime, startup time, memory; report only for PyVM/LLVM lines
- Tracing:
NYASH_LLVM_TRACE_PHI=1, IR dumpNYASH_LLVM_DUMP_IR=...
Toggles
NYASH_MIR_NO_PHI=1(default) — PHI disabled at MIR- Dev-only PHI-on: build with
--features phi-legacyand setNYASH_MIR_NO_PHI=0
Notes
- Figures and text must avoid implying MIR-side PHI placement as default.
- Reference canonical specs live under
docs/reference/.