Skip to main content

luaur_code_gen/functions/
replace_ir_utils.rs

1use crate::functions::add_use::add_use;
2use crate::functions::remove_use::remove_use;
3use crate::records::ir_function::IrFunction;
4use crate::records::ir_op::IrOp;
5
6pub fn replace_ir_function_ir_op_ir_op(
7    function: &mut IrFunction,
8    original: &mut IrOp,
9    replacement: IrOp,
10) {
11    // Add use before removing new one if that's the last one keeping target operand alive
12    add_use(function, replacement);
13    remove_use(function, *original);
14
15    *original = replacement;
16}