feat(joinir): Phase 256 P1.5 - JoinInst::Select 命令サポート(根治)
## 変更内容 Task 1(既完了): boundary パラメータを bridge 経路全体に伝播 - conversion_pipeline.rs, bridge.rs(複数箇所), meta.rs, routing_legacy_binding.rs, execute_box.rs Task 2-A~2-D: Select 命令の実装 - 2-A: MirInstruction::Select バリアント追加 - 2-B: JoinIR Select → MIR Select 直接変換(branch+phi展開廃止) - 2-C: ⭐ joinir_id_remapper に Select remap case(ValueId変換の根治) - 2-D: value_collector に Select case ## 根本原因解決 Pattern7 の JoinInst::Select が JoinIR→MIR で未対応 → ValueId(1002) → ValueId(57) のリマップが行われず → "use of undefined value ValueId(57)" エラー ## 現在地 ✅ cargo check: 0 errors ⏳ Pattern7/6 VM test(Task 2-E LLVM実装後) 🧠 Generated with Claude Code Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -94,9 +94,9 @@ impl JoinIRConversionPipeline {
|
||||
);
|
||||
|
||||
// Step 2: JoinModule → MirModule conversion
|
||||
// Pass empty meta map since minimal lowerers don't use metadata
|
||||
// Phase 256 P1.5: Pass boundary to bridge for ValueId remapping
|
||||
let empty_meta: JoinFuncMetaMap = BTreeMap::new();
|
||||
let mir_module = bridge_joinir_to_mir_with_meta(&join_module, &empty_meta)
|
||||
let mir_module = bridge_joinir_to_mir_with_meta(&join_module, &empty_meta, boundary)
|
||||
.map_err(|e| format!("[{}/pipeline] MIR conversion failed: {:?}", pattern_name, e))?;
|
||||
|
||||
// Step 3: Log MIR stats (functions and blocks)
|
||||
|
||||
Reference in New Issue
Block a user