From f096a2a588d0bf08a37741e69d5e5e07c20dbe1e Mon Sep 17 00:00:00 2001 From: nyash-codex Date: Thu, 27 Nov 2025 03:39:09 +0900 Subject: [PATCH] docs(phase33): Phase 33-3.1 - IfSelectTest.* JoinIR coverage documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Documentation update (code-unchanged): - Add Phase 33-3.1 section to CURRENT_TASK.md - Document JoinIR coverage range (simple/local patterns) - Note constraints (dev-only, function name guard, mainline preserved) - Document deletion plan (~600 lines: if_phi/phi_invariants/conservative) Next steps: Phase 33-3.2 (JoinIR migration), Phase 33-3.3 (deletion) 🤖 Generated with Claude Code Co-Authored-By: Claude --- CURRENT_TASK.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CURRENT_TASK.md b/CURRENT_TASK.md index 9587876b..bed552be 100644 --- a/CURRENT_TASK.md +++ b/CURRENT_TASK.md @@ -75,6 +75,33 @@ --- +### 1-00w. Phase 33-3.1 — IfSelectTest.* を JoinIR 対応済みケースとして固定(**完了** 2025-11-26) + +**実施内容** +- `IfSelectTest.*` の単純 if/else(simple/local パターン)は JoinIR Select 経路で実行可能になった +- dev 専用パス: `NYASH_JOINIR_IF_SELECT=1` + 関数名ガードで限定 +- MIR Builder 本線の if_phi 呼び出しは未削除(既存経路を保持) + +**JoinIR 対応範囲** +- ✅ simple パターン: `if cond { return 1 } else { return 2 }` +- ✅ local パターン: `if cond { x = a } else { x = b }; return x` +- ⏳ Stage-1/Stage-B/selfhost: Phase 33-4 で段階的拡大予定 + +**if_phi 系箱の削除計画** +- **削除条件**: Stage-1/Stage-B/selfhost の代表ケースを JoinIR Select/IfMerge に乗せてから再検討 +- **対象箱**: if_phi.rs (316行) / phi_invariants.rs (92行) / conservative.rs (169行) +- **削減見込み**: 約 600 行(Phase 33-3.2/3.3 で実施) + +**次のステップ** +- Phase 33-3.2: `phi_invariants/conservative` の JoinIR 側への移譲設計 +- Phase 33-3.3: 参照ゼロの箱から順次削除 + +**更新ドキュメント** +- `docs/private/roadmap2/phases/phase-30-final-joinir-world/PHI_BOX_INVENTORY.md` (Phase 33 進捗追加) +- `docs/private/roadmap2/phases/phase-33-joinir-if-phi-cleanup/TASKS.md` (33-3.1 完了) + +--- + ### 1-00u. Phase 32 L-4.3a — llvmlite ハーネスでの JoinIR 実験(**完了** 2025-11-26) **目的**