docs(phase33): Phase 33-3.1 - IfSelectTest.* JoinIR coverage documentation

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 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-27 03:39:09 +09:00
parent 5cfb0e1d5b
commit f096a2a588

View File

@ -75,6 +75,33 @@
---
### 1-00w. Phase 33-3.1 — IfSelectTest.* を JoinIR 対応済みケースとして固定(**完了** 2025-11-26
**実施内容**
- `IfSelectTest.*` の単純 if/elsesimple/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
**目的**