docs: Phase 132-P3 verifier note
This commit is contained in:
@ -91,3 +91,22 @@ Case C(`apps/tests/llvm_stage3_loop_only.hako`)の LLVM EXE 検証で、
|
||||
|
||||
調査ログ:
|
||||
- `docs/development/current/main/investigations/phase132-case-c-llvm-exe.md`
|
||||
|
||||
---
|
||||
|
||||
## 追加: Phase 132-P3(debug-only)Exit PHI collision early detection
|
||||
|
||||
同種の ValueId 衝突が “LLVM 実行時” にしか露見しないと切り分けコストが高いので、
|
||||
JoinIR merge の契約検証(debug build)で **早期に Fail-Fast** する検証 Box を追加した。
|
||||
|
||||
- 検証: `verify_exit_phi_no_collision()`
|
||||
- 実装: `src/mir/builder/control_flow/joinir/merge/contract_checks.rs`
|
||||
- 呼び出し元: `verify_exit_line(...)`(`#[cfg(debug_assertions)]`)
|
||||
|
||||
検出例(概念):
|
||||
- `bb0: %1 = const 0`
|
||||
- `exit block: %1 = phi ...`(衝突)
|
||||
|
||||
期待される振る舞い:
|
||||
- debug build では compile/run 中に panic で即停止(原因と修正案が出る)
|
||||
- release build の既定挙動は変えない(検証は `debug_assertions` のみ)
|
||||
|
||||
Reference in New Issue
Block a user