refactor(llvm): Phase 131-12-P2 - block_end_values SSOT 化(WIP)

## 実装内容
- get_end_values() API 追加
- _value_at_end_i64() を snapshot-only に変更
- def_blocks 即時更新
- PHI incoming を snapshot から取得

## 発見された問題
- 同一ブロック内の def→use が predecessor snapshot を見てしまう
- これは次フェーズで resolve_cur / resolve_incoming 分離で修正

🤖 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-14 21:55:44 +09:00
parent 7dfd6ff1d9
commit eb70dfc5bb
4 changed files with 75 additions and 67 deletions

View File

@ -119,7 +119,10 @@ class NyashLLVMBuilder:
# Resolver for unified value resolution
self.resolver = Resolver(self.vmap, self.bb_map)
# P0-1: Connect builder's SSOT structures to resolver
self.resolver.def_blocks = self.def_blocks
self.resolver.block_end_values = self.block_end_values
# Statistics
self.loop_count = 0
# Heuristics for minor gated fixes