deimos-lang/dmc-lib/src/ir/util.rs

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);
}
}