Documentation: - Move completion reports to docs/archive/reports/ - Add phase232-238 design/inventory documents - Update joinir-architecture-overview.md - Add doc-status-policy.md Code refinements: - ExprLowerer: condition catalog improvements - ScopeManager: boundary clarifications - CarrierInfo: cleanup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Self Current Task — Overview (main)
目的
- main ブランチで Core‑13(MIR13)前提の制御フローを整備し、LLVM/Cranelift(EXE)/VM に綺麗に降ろす土台を完成させる。
- 箱言語の既存命令セット(Branch/Jump/Phi 他)を活かし、continue/break を新命令なしで表現する。
前提と指針
- MIR13 前提(純化モードを含む)。
- ループは canonical 形(preheader → header → body → latch → header、exit は単一)。
- continue/break は分岐のみで表現(continue→ヘッダ/ラッチ、break→単一 exit)。
- Verifier(支配関係/SSA)緑を最優先。post‑terminated 後の emit 禁止、合流点を明確化。
スコープ外
- 新規 MIR 命令の追加。
- try/finally と continue/break の相互作用(次段)。
JoinIR / Selfhost 関連の入口
- 「JoinIR / Selfhost まわりで、まずどのドキュメントを読むべきか」は
docs/development/current/main/01-JoinIR-Selfhost-INDEX.mdを入口として使ってね。 - JoinIR 全体のアーキテクチャと箱の関係は
docs/development/current/main/joinir-architecture-overview.mdを SSOT として参照するよ。 - selfhost / .hako 側から JoinIR を使うときも、この JoinIR 設計を前提にして設計・実装する方針だよ。