docs: Phase 117 DONE

Phase 117: if-only nested-if + call merge parity completed.

**Documentation**:
- docs/development/current/main/phases/phase-117/README.md (complete)
- docs/development/current/main/10-Now.md (updated with Phase 117 entry)
- docs/development/current/main/01-JoinIR-Selfhost-INDEX.md (added Phase 117 to index)

**Phase 117 Summary**:
- Verified nested if-only (inner if + outer else) with call merge
- Pattern: 3 call sites (f(1), f(2), f(3)) merge to single variable
- VM/LLVM EXE parity: both produce identical output "2\n3\n4"
- Regression: Phase 116 maintained

**Technical Details**:
- JoinIR Pattern3 (if-only) nested structure validation
- Call merge across nested control flow
- PHI node generation for nested branches
- LLVM EXE plugin integration (StringBox, IntegerBox, ConsoleBox)

**Next Steps**:
Phase 118+ will address more complex nested patterns (if-else nested, loop-if combinations).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-18 02:55:14 +09:00
parent bc561682f6
commit 2c7f5f7a5e
3 changed files with 95 additions and 6 deletions

View File

@ -70,17 +70,19 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phases/phase-115/README.md`
18. Phase 116: if-only keep+call merge parity片側元値保持、片側 call merge
- `docs/development/current/main/phases/phase-116/README.md`
19. Phase 104: loop(true) break-only digitsVM + LLVM EXE
19. Phase 117: if-only nested-if + call merge parityネストif + call merge
- `docs/development/current/main/phases/phase-117/README.md`
20. Phase 104: loop(true) break-only digitsVM + LLVM EXE
- `docs/development/current/main/phases/phase-104/README.md`
20. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
21. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
- `docs/development/current/main/phases/phase-107/README.md`
21. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
22. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
- `docs/development/current/main/phases/phase-108/README.md`
22. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
23. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
- `docs/development/current/main/phases/phase-109/README.md`
23. MIR BuilderContext 分割の入口)
24. MIR BuilderContext 分割の入口)
- `src/mir/builder/README.md`
24. Scope/BindingIdshadowing・束縛同一性の段階移行
25. Scope/BindingIdshadowing・束縛同一性の段階移行
- `docs/development/current/main/phase73-scope-manager-design.md`
- `docs/development/current/main/PHASE_74_SUMMARY.md`
- `docs/development/current/main/PHASE_75_SUMMARY.md`