refactor(phi): Phase 25.1q - PhiMergeHelper unified PHI insertion
**Changes**: 1. Created phi_merge.rs - Unified PHI insertion helper - PhiMergeHelper struct for Conservative PHI strategy - merge_variable() - single variable merging - merge_all_vars() - batch variable merging - 280 lines of well-documented, reusable logic 2. Refactored phi.rs merge_modified_vars - Use PhiMergeHelper::merge_all_vars() instead of inline logic - Reduced from ~80 lines to ~15 lines (81% reduction!) - Eliminated PHI insertion duplication **Benefits**: - Single source of truth for PHI insertion logic - Improved code clarity (Box-First theory applied) - Foundation for future loop PHI unification - Easy to test and maintain **Testing**: ✅ mir_stage1_using_resolver_full_collect_entries_verifies passes ✅ mir_stage1_using_resolver_min_fragment_verifies passes ✅ Phase 25.1c/k SSA fix preserved ✅ MIR correctness verified **Code Reduction**: - Phase A-1: 25 lines (Conservative unification) - Phase A-2: 65 lines (PhiMergeHelper) - **Total: 90 lines reduced** (36% of 215 target!) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -31,6 +31,7 @@ mod fields; // field access/assignment lowering split
|
||||
pub(crate) mod loops;
|
||||
mod ops;
|
||||
mod phi;
|
||||
mod phi_merge; // Phase 25.1q: Unified PHI merge helper
|
||||
mod if_form;
|
||||
mod control_flow; // thin wrappers to centralize control-flow entrypoints
|
||||
mod lifecycle; // prepare/lower_root/finalize split
|
||||
|
||||
Reference in New Issue
Block a user