Files
hakorune/docs/private/papers/paper-a-mir13-ir-design/SCOPE.md

987 B
Raw Blame History

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 Phase15)

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 dump NYASH_LLVM_DUMP_IR=...

Toggles

  • NYASH_MIR_NO_PHI=1 (default) — PHI disabled at MIR
  • Dev-only PHI-on: build with --features phi-legacy and set NYASH_MIR_NO_PHI=0

Notes

  • Figures and text must avoid implying MIR-side PHI placement as default.
  • Reference canonical specs live under docs/reference/.