fix(joinir): stabilize Phase 256 merge (jump_args, DCE, func names)

This commit is contained in:
2025-12-20 11:01:48 +09:00
parent 2c4268b691
commit 1028bd419c
11 changed files with 499 additions and 50 deletions

View File

@ -48,12 +48,14 @@
## 2025-12-19Phase 256StringUtils.split/2 可変 step ループ)🔜
- Phase 256 README: `docs/development/current/main/phases/phase-256/README.md`
- Current first FAIL: `StringUtils.split/2``jump_args length mismatch``Carrier 'i' has no latch incoming set`
- Current first FAIL: `StringUtils.split/2`MIR verification: “Value defined multiple times” + SSA undef
- 状況:
- `MirInstruction::Select` の導入は完了、Pattern6index_ofは PASS 維持。
- `ValueId(57)` undefined は根治(原因は `const_1` 未初期化)。
- SSA undef`%49/%67`)は P1.7 で根治continuation 関数名の SSOT 不一致)。
- 残りは Pattern7 の carrier PHI 配線(ExitLine / jump_args 契約)を直す段階
- P1.8で ExitLine/jump_args の余剰許容と関数名マッピングを整流
- P1.9で `JoinInst::Jump` を tail call として bridge に落とし、`jump_args` を SSOT として保持。
- P1.10で DCE が `jump_args` を used 扱いし、`instruction_spans` を同期SPAN MISMATCH 根治)。
- P1.5-DBG: boundary entry params の契約チェックを追加VM実行前 fail-fast
- P1.6: 契約チェックの薄い集約 `run_all_pipeline_checks()` を導入pipeline の責務を縮退)。