docs: restore docs/private/roadmap from 7b4908f9 (Phase 20.31)
This commit is contained in:
27
docs/private/roadmap/phases/phase-33/PLAN.md
Normal file
27
docs/private/roadmap/phases/phase-33/PLAN.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Phase‑33 — Execution Plan (Native LLVM AOT)
|
||||
|
||||
## Milestones
|
||||
|
||||
1) Skeleton & Contract (this phase)
|
||||
- Add C ABI header + stub implementation returning NYI
|
||||
- CMake project in `c/llvm-native/` without LLVM linkage
|
||||
- Document API and error policy; keep defaults unchanged (llvmlite)
|
||||
|
||||
2) Minimal Codegen
|
||||
- Implement JSON→IR→OBJ for: const i64 / ret / binop / compare+branch
|
||||
- Target: Linux x86_64 only; opt-level configurable
|
||||
- Add canaries mirroring existing AOT tests (return/binop/if)
|
||||
|
||||
3) Linking
|
||||
- Implement `.o + libhako_kernel.a → exe`
|
||||
- Provide flags for relocation model / LTO (optional)
|
||||
- Add canaries to assert rc/last-line parity with VM/llvmlite
|
||||
|
||||
4) Packaging & Toggle
|
||||
- Provide `--aot-engine native` / `HAKO_AOT_ENGINE=native`, fall back to llvmlite if native unavailable
|
||||
- Doc: system LLVM vs. bundled releases; size/perf trade-offs
|
||||
|
||||
## Acceptance (Phase 33)
|
||||
- C ABI skeleton present and isolated; repository builds unchanged by default
|
||||
- Plan/README written; follow-up work scoped to Phase 34+
|
||||
|
||||
Reference in New Issue
Block a user