docs: add MIR13 mode doc and set PHI-off as default; bridge lowering split (if/loop/try); llvmlite resolver stabilization; curated runner default PHI-off; refresh CURRENT_TASK.md

This commit is contained in:
Selfhosting Dev
2025-09-17 10:58:12 +09:00
parent 31f90012e0
commit d99b941218
131 changed files with 2584 additions and 2657 deletions

View File

@ -0,0 +1,11 @@
# Self Current Task — Overview (llvm)
目的
- LLVM AOT の Core13 前提化を完了し、VM と一致する代表ケースを安定化。
- BitOps/Shift の構文着地に合わせ、AOT 側の IR 生成/実行互換を維持。
指針
- Opaque Pointer 対応済get_element_type 不使用)。
- `env.box.new/_i64x` は NyRT shim に統一、引数は i64 正規化。
- BinOp/Compare は i64/f64 必要分を網羅する。

View File

@ -0,0 +1,17 @@
# Self Current Task — Now (llvm)
20250908現状と直近タスク
- P0 完了BitOps/Array/Echo/Map 緑)。
- VInvoke(byname/byid vector) で戻り値マッピングの課題ret_tag=3 でも 0 になる)。
直近タスク
1) VInvoke 戻り値の短期特例:既知メソッド(例: MapBox.getの整数返りは i64 として保持。
2) byid vector`nyash.plugin.invoke_tagged_v_i64`)も同様に統一。
3) 受け入れ:
- `NYASH_LLVM_VINVOKE_SMOKE=1``VInvokeRc: 42`
- `NYASH_LLVM_VINVOKE_RET_SMOKE=1``Result: 42`
代表コマンド
- `LLVM_SYS_180_PREFIX=$(llvm-config-18 --prefix) NYASH_LLVM_BITOPS_SMOKE=1 ./tools/llvm_smoke.sh release`
- `NYASH_LLVM_VINVOKE_TRACE=1 NYASH_LLVM_VINVOKE_SMOKE=1 ./tools/llvm_smoke.sh release`

View File

@ -0,0 +1,8 @@
# Self Current Task — Decisions (llvm)
20250908
- VInvokevector 経路)の戻り値:短期は既知メソッドの整数返りを i64 として保持Unknown/Box でも整数扱いにする特例)。
- 中期は正道へ:
- nyash.toml に戻り型ヒントprimitive/handle/f64/boolを追加し codegen に供給、または
- NyRT シムに「期待戻り形式」フラグを追加し codegen から通知。

View File

@ -0,0 +1,9 @@
# Self Current Task — Backlog (llvm)
短期
- VInvokevectorの短期特例実装とスモーク更新byname/byid 一致)。
中期
- 正道化(戻り型ヒント or NyRT 期待フラグ)と IR 経路の統一。
- AOT E2E 強化plugins あり/なし両系統)。