nyash-codex
948f22a03a
feat(phi): Phase 26-F-2 - 箱理論による責務分離(IfBodyLocalMergeBox新設)
**箱理論による問題解決**:
- ❌ 問題: LoopVarClassBox(ループスコープ分析)とif-merge処理が混在
- ✅ 解決: if-merge専用箱を新設して責務分離
**新箱: IfBodyLocalMergeBox**:
- 責務: if-merge専用のbody-local φ候補決定
- ロジック:
- 両腕に存在する変数を検出
- pre_ifと比較して値が変わった変数のみ
- empty elseは空リスト返す
- 特徴: LocalScopeInspector不要、LoopVarClassBox不使用
**変更ファイル**:
- src/mir/phi_core/if_body_local_merge.rs: 新規作成(IfBodyLocalMergeBox)
- src/mir/phi_core/phi_builder_box.rs: IfBodyLocalMergeBox使用に切り替え
- src/mir/phi_core/body_local_phi_builder.rs: filter_if_merge_candidates()削除
- src/mir/loop_builder.rs: BodyLocalPhiBuilder setup削除
- src/mir/phi_core/mod.rs: if_body_local_merge追加
**テスト結果**:
- Passed: 353→354 (+1) ✅
- Failed: 14→14 (退行なし)
**既知の問題**:
- domination error依然残存(%48 in bb48 from bb52)
- 次フェーズで調査・修正予定
技術詳細:
- ChatGPT箱理論分析による設計
- A案ベースのシンプル実装
- 責務明確化: ループスコープ分析 vs if-merge専用処理
2025-11-22 11:03:21 +09:00
..
2025-11-06 15:41:52 +09:00
2025-08-21 00:41:26 +09:00
2025-08-21 00:41:26 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-09-03 01:37:38 +09:00
2025-09-04 11:34:15 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-08-21 00:41:26 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-09-02 09:26:09 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-09-08 03:30:35 +09:00
2025-09-08 03:30:35 +09:00
2025-11-06 15:41:52 +09:00
2025-11-14 15:18:14 +09:00
2025-11-14 15:18:14 +09:00
2025-11-13 16:40:58 +09:00
2025-11-22 02:51:16 +09:00
2025-11-14 20:19:00 +09:00
2025-11-06 15:41:52 +09:00
2025-11-21 06:25:17 +09:00
2025-11-22 05:33:40 +09:00
2025-11-15 22:32:13 +09:00
2025-11-20 03:56:12 +09:00
2025-11-19 23:12:01 +09:00
2025-11-18 09:26:39 +09:00
2025-11-20 03:56:12 +09:00
2025-11-18 18:56:35 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 00:02:41 +09:00
2025-11-19 23:12:01 +09:00
2025-11-19 03:28:58 +09:00
2025-11-19 10:08:04 +09:00
2025-11-22 11:03:21 +09:00
2025-11-19 23:12:01 +09:00
2025-11-20 03:56:12 +09:00
2025-11-20 03:56:12 +09:00
2025-11-15 22:32:13 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 09:43:42 +09:00
2025-09-11 00:21:11 +09:00
2025-11-04 16:33:04 +09:00
2025-11-06 15:41:52 +09:00