16 lines
504 B
Rust
16 lines
504 B
Rust
use crate::ir::ir_variable::IrVariableId;
|
|
use std::collections::HashSet;
|
|
|
|
pub fn propagate_spills(
|
|
target_ir_variable: IrVariableId,
|
|
register_variables: &mut HashSet<IrVariableId>,
|
|
stack_variables: &mut HashSet<IrVariableId>,
|
|
new_spills: &HashSet<IrVariableId>,
|
|
) {
|
|
if new_spills.contains(&target_ir_variable) && register_variables.contains(&target_ir_variable)
|
|
{
|
|
register_variables.remove(&target_ir_variable);
|
|
stack_variables.insert(target_ir_variable);
|
|
}
|
|
}
|