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}