feat(mir): Phase 84-2 CopyTypePropagator for Copy chain type propagation

- Add CopyTypePropagator box (ChatGPT Pro design) for fixed-point
  Copy instruction type propagation
- Integrate into lifecycle.rs before return type inference
- Case D reduced from 12 to 9 (25% reduction)

Implementation:
- src/mir/phi_core/copy_type_propagator.rs: New box with fixed-point loop
- src/mir/phi_core/mod.rs: Add module export
- src/mir/builder/lifecycle.rs: Call propagator before return inference

Test results:
- Baseline: 494 passed, 33 failed (was 489/34)
- Case D: 9 remaining (from 12)
- Unit tests: 4/4 passed

Remaining 9 Case D breakdown:
- GroupA: Loop Edge Copy (7 cases) - PHI incoming needs Copy trace
- GroupB: Multi-level PHI (2 cases) - Recursive PHI resolution needed

Phase 84-3 will address GroupA with Edge Copy tracing in GenericTypeResolver.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-02 19:37:01 +09:00
parent 40dfbc68a8
commit 4ef5eec162
10 changed files with 1667 additions and 33 deletions

View File

@ -29,6 +29,9 @@ pub mod loopform_builder;
// Phase 26-E: PHI SSOT Unification - PhiBuilderBox
pub mod phi_builder_box;
// Phase 84-2: Copy命令型伝播箱ChatGPT Pro設計
pub mod copy_type_propagator;
// Phase 35-5: if_body_local_merge 削除PhiBuilderBoxに吸収済み
// Phase 35-5: phi_invariants 削除JoinIR Verifierに移譲済み