feat(joinir): Phase 61-3 IfInLoopPhiEmitter箱実装
If-in-loop PHI生成を箱化モジュール化: ## 新規ファイル - if_in_loop_phi_emitter.rs: IfInLoopPhiEmitter 箱(~250行) - emit_header_phis(): VarLookup方式でPHI生成 - ユニットテスト2件: basic / same_value ## 変更ファイル - mod.rs: IfInLoopPhiEmitter モジュール追加・pub use - if_lowering.rs: Phase 61-3本番経路統合 - HAKO_JOINIR_IF_IN_LOOP_ENABLE=1 で IfInLoopPhiEmitter 使用 - JoinIRパターンマッチ成功時のみ動作 - if_phi_context.rs: unused imports削除 ## 箱理論 - IfInLoopPhiEmitter: PHI命令発行に専念(Thin Box) - VarLookup方式: snapshot lookup + pre_val fallback - CFG非依存: incoming値はsnapshotから直接取得 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -27,8 +27,7 @@
|
||||
//! - carrier_names の判定ユーティリティ提供
|
||||
//! - Phase 61-3: incoming値解決(CFG依存ロジック)
|
||||
|
||||
use crate::mir::{BasicBlockId, ValueId};
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
/// If-in-loop 用 PHI コンテキスト
|
||||
#[derive(Debug, Clone)]
|
||||
|
||||
Reference in New Issue
Block a user