feat(llvm): Phase 131-13/14 - MIR JSON順序修正 & 2パスsnapshot解決
## Phase 131-13: MIR JSON 命令順序修正 - copy 遅延ロジック削除(~80行) - MIR の def→use 順序をそのまま出力(SSOT) - PHI 先頭集約のみ維持 ## Phase 131-14: jump-only block 2パス snapshot 解決 - Pass A: jump-only block はメタ記録のみ - Pass B: resolve_jump_only_snapshots() で CFG ベース解決 - path compression で連鎖を効率的に解決 - サイクル検出で Fail-Fast ## 結果 - ✅ STRICT モードでエラーなし - ✅ bb7 が bb5 の snapshot を正しく継承 - ✅ ループが正しく動作(1, 2 出力確認) - ⚠️ print/concat で segfault(別問題、次Phase) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -211,6 +211,11 @@ VM and MIR look correct, but LLVM output does not match expected result for Case
|
||||
- `return counter` (no string concat)
|
||||
- `print(counter)` (no `"Result: " + ...`)
|
||||
- Compare with VM and inspect the IR use-sites.
|
||||
|
||||
**Update (Phase 131-13)**:
|
||||
- snapshot-only + strict resolver により、Case C の不一致が “LLVM の値解決バグ” ではなく
|
||||
“Rust の MIR→JSON emit が block 内命令順序を崩している” 問題として顕在化した。
|
||||
- Investigation note: `docs/development/current/main/investigations/phase131-13-mir-json-instruction-order.md`
|
||||
- Add `is_infinite_loop: bool` feature to `LoopFeatures` (detect `loop(true)`).
|
||||
- Fix classification so `has_break && has_continue` does not route to Pattern 4.
|
||||
- Introduce a dedicated pattern kind + lowerer for **infinite loop + early-exit (+ optional continue)**:
|
||||
|
||||
Reference in New Issue
Block a user