feat(joinir): Phase 61-3 devフラグ・if_phi_context拡張準備
Phase 61-3(If-in-loop JoinIR本番切り替え)の基盤準備: - env.rs: joinir_if_in_loop_enable() 追加 - HAKO_JOINIR_IF_IN_LOOP_ENABLE=1 で本番経路有効化 - デフォルトOFF(安全第一) - if_phi_context.rs: Phase 61-3拡張準備 - BTreeMap, ValueId, BasicBlockId import追加 - ドキュメント更新(incoming値解決メソッド予告) 設計書: docs/private/.../phase61-3-box-design.md(別途) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -8,6 +8,10 @@
|
||||
//! 従来は PhiBuilderBox::set_if_context() で carrier_names を渡していたが、
|
||||
//! Phase 61-1 で JoinIR 経路に統一するため、この情報を渡す手段が必要。
|
||||
//!
|
||||
//! ## Phase 61-3 拡張
|
||||
//!
|
||||
//! incoming 値解決メソッドを追加し、CFG依存ロジックをIfPhiContextに集約。
|
||||
//!
|
||||
//! ## 設計
|
||||
//!
|
||||
//! ```
|
||||
@ -21,8 +25,10 @@
|
||||
//!
|
||||
//! - ループ内 if のコンテキスト情報を保持
|
||||
//! - carrier_names の判定ユーティリティ提供
|
||||
//! - Phase 61-3: incoming値解決(CFG依存ロジック)
|
||||
|
||||
use std::collections::BTreeSet;
|
||||
use crate::mir::{BasicBlockId, ValueId};
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
|
||||
/// If-in-loop 用 PHI コンテキスト
|
||||
#[derive(Debug, Clone)]
|
||||
|
||||
Reference in New Issue
Block a user