feat(joinir): Phase 213-2 Step 2-2 & 2-3 Data structure extensions
Extended PatternPipelineContext and CarrierUpdateInfo for Pattern 3 AST-based generalization. Changes: 1. PatternPipelineContext: - Added loop_condition: Option<ASTNode> - Added loop_body: Option<Vec<ASTNode>> - Added loop_update_summary: Option<LoopUpdateSummary> - Updated build_pattern_context() for Pattern 3 2. CarrierUpdateInfo: - Added then_expr: Option<ASTNode> - Added else_expr: Option<ASTNode> - Updated analyze_loop_updates() with None defaults Status: Phase 213-2 Steps 2-2 & 2-3 complete Next: Create Pattern3IfAnalyzer to extract if statement and populate update summary
This commit is contained in:
@ -171,6 +171,7 @@ pub struct MirBuilder {
|
||||
/// Loop context stacks for lowering break/continue inside nested control flow
|
||||
/// Top of stack corresponds to the innermost active loop
|
||||
pub(super) loop_header_stack: Vec<BasicBlockId>,
|
||||
#[allow(dead_code)]
|
||||
pub(super) loop_exit_stack: Vec<BasicBlockId>,
|
||||
|
||||
/// If/merge context stack (innermost first). Used to make merge targets explicit
|
||||
@ -820,6 +821,7 @@ impl MirBuilder {
|
||||
|
||||
/// Update an existing PHI instruction's inputs (for loop sealing)
|
||||
/// Used by LoopFormBuilder to complete incomplete PHI nodes
|
||||
#[allow(dead_code)]
|
||||
pub(super) fn update_phi_instruction(
|
||||
&mut self,
|
||||
block: BasicBlockId,
|
||||
|
||||
Reference in New Issue
Block a user