refactor(plan): Phase 273 P3+ - Legacy code removal
Phase 273 P3+ 完成: レガシーコード削除 + 未使用 import 整理 Removed Legacy Items: 1. emit_scan_with_init_edgecfg() - Pattern6 固有の emission 関数 - File deleted: src/mir/builder/emission/loop_scan_with_init.rs (~144 lines) - Replaced by: generalized Frag API (Phase 273 P2) 2. CoreCarrierInfo struct - Legacy carrier representation - Removed from: src/mir/builder/control_flow/plan/mod.rs (~15 lines) - Replaced by: CorePhiInfo (generalized PHI representation) 3. verify_carrier() function - CoreCarrierInfo validator - Removed from: src/mir/builder/control_flow/plan/verifier.rs (~15 lines) - Replaced by: generalized PHI verification (V7-V9) Code Cleanup: - cargo fix applied: unused imports removed (~30 files) - Verifier invariants updated: V1→V2-V9 (carrier→PHI model) - Module declaration cleanup in emission/mod.rs Impact: - Total lines removed: ~174 lines (net reduction) - Pattern-agnostic architecture strengthened - All legacy Pattern6 references eliminated Tests: - ✅ VM tests PASS (phase254/256/258) - ✅ LLVM tests PASS (phase256/258) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -192,21 +192,7 @@ pub(in crate::mir::builder) struct CoreLoopPlan {
|
||||
pub final_values: Vec<(String, ValueId)>,
|
||||
}
|
||||
|
||||
/// Phase 273 P1: Loop carrier (PHI variable)
|
||||
#[derive(Debug, Clone)]
|
||||
pub(in crate::mir::builder) struct CoreCarrierInfo {
|
||||
/// Variable name (for variable_map update)
|
||||
pub name: String,
|
||||
|
||||
/// Initial value (from preheader)
|
||||
pub init_value: ValueId,
|
||||
|
||||
/// Step value (from step block, back-edge)
|
||||
pub step_value: ValueId,
|
||||
|
||||
/// PHI destination (loop variable inside loop)
|
||||
pub phi_dst: ValueId,
|
||||
}
|
||||
// Phase 273 P3: CoreCarrierInfo removed (replaced by CorePhiInfo)
|
||||
|
||||
/// Phase 273 P1: Conditional plan
|
||||
#[derive(Debug, Clone)]
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
//! Lowerer processes CorePlan without any pattern knowledge.
|
||||
|
||||
use super::{
|
||||
CoreCarrierInfo, CoreEffectPlan, CoreLoopPlan, CorePhiInfo, CorePlan, DomainPlan,
|
||||
CoreEffectPlan, CoreLoopPlan, CorePhiInfo, CorePlan, DomainPlan,
|
||||
ScanWithInitPlan, SplitScanPlan,
|
||||
};
|
||||
use crate::mir::builder::control_flow::joinir::patterns::router::LoopPatternContext;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
//! Phase 273 P1: PlanVerifier - CorePlan 不変条件検証 (fail-fast)
|
||||
//! Phase 273 P3: PlanVerifier - CorePlan 不変条件検証 (fail-fast)
|
||||
//!
|
||||
//! # Responsibilities
|
||||
//!
|
||||
@ -6,16 +6,20 @@
|
||||
//! - Fail fast on close-but-unsupported patterns
|
||||
//! - Prevent silent miscompilation
|
||||
//!
|
||||
//! # Invariants (V1-V6)
|
||||
//! # Invariants (V2-V9)
|
||||
//!
|
||||
//! - V1: Carrier completeness (name/init_value/step_value present)
|
||||
//! - V2: Condition validity (valid ValueId)
|
||||
//! - V3: Exit validity (Return in function, Break/Continue in loop)
|
||||
//! - V4: Seq non-empty
|
||||
//! - V5: If completeness (then_plans non-empty)
|
||||
//! - V6: ValueId validity (all ValueIds pre-generated)
|
||||
//! - V7: PHI non-empty (loops require at least one carrier)
|
||||
//! - V8: Frag entry matches header_bb
|
||||
//! - V9: block_effects contains header_bb
|
||||
//!
|
||||
//! Phase 273 P3: V1 (Carrier completeness) removed with CoreCarrierInfo
|
||||
|
||||
use super::{CoreCarrierInfo, CoreEffectPlan, CoreExitPlan, CoreIfPlan, CoreLoopPlan, CorePlan};
|
||||
use super::{CoreEffectPlan, CoreExitPlan, CoreIfPlan, CoreLoopPlan, CorePlan};
|
||||
use crate::mir::ValueId;
|
||||
|
||||
/// Phase 273 P1: PlanVerifier - CorePlan 不変条件検証 (fail-fast)
|
||||
@ -132,21 +136,7 @@ impl PlanVerifier {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// V1: Carrier completeness
|
||||
fn verify_carrier(carrier: &CoreCarrierInfo, depth: usize, index: usize) -> Result<(), String> {
|
||||
if carrier.name.is_empty() {
|
||||
return Err(format!(
|
||||
"[V1] Carrier[{}] at depth {} has empty name",
|
||||
index, depth
|
||||
));
|
||||
}
|
||||
|
||||
Self::verify_value_id_basic(carrier.init_value, depth, &format!("carrier[{}].init_value", index))?;
|
||||
Self::verify_value_id_basic(carrier.step_value, depth, &format!("carrier[{}].step_value", index))?;
|
||||
Self::verify_value_id_basic(carrier.phi_dst, depth, &format!("carrier[{}].phi_dst", index))?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
// Phase 273 P3: verify_carrier() removed (CoreCarrierInfo replaced by CorePhiInfo)
|
||||
|
||||
/// V5: If completeness
|
||||
fn verify_if(if_plan: &CoreIfPlan, depth: usize, in_loop: bool) -> Result<(), String> {
|
||||
|
||||
Reference in New Issue
Block a user