feat(mir): Phase 260 P2 - Delete BasicBlock.jump_args, unify to terminator SSOT
- Delete legacy jump_args/jump_args_layout fields from BasicBlock - Add return_env/return_env_layout for Return-specific metadata - Rename set_return_edge_args() → set_return_env() (clearer semantics) - Remove 8 legacy helper methods (has/get/set/clear legacy_jump_args) - Simplify set_jump/branch_with_edge_args (remove legacy sync, keep API) - Update edge_args_from_terminator() to terminator-only (no fallback) - Update 10+ JoinIR handler/test sites to use new API This completes Phase 260 P0 → P2 migration: edge-args are now exclusively in terminator operands (Jump/Branch) or Return-specific metadata (renamed from legacy terminology). BREAKING: BasicBlock.jump_args field removed. Use terminator edge-args or block.return_env() for Return blocks. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -744,8 +744,8 @@ mod tests {
|
||||
.get(&entry)
|
||||
.expect("missing loop_body entry block");
|
||||
assert!(
|
||||
entry_block.has_legacy_jump_args(),
|
||||
"loop_body entry block must have legacy jump_args metadata in bridged MIR"
|
||||
entry_block.return_env().is_some(),
|
||||
"loop_body entry block must have return_env metadata in bridged MIR"
|
||||
);
|
||||
|
||||
// Loop-only (the routing path in real lowering): still must encode loop_step as a tail-call.
|
||||
|
||||
Reference in New Issue
Block a user