Skip to main content

luaur_code_gen/methods/
const_prop_state_create_reg_link.rs

1use crate::functions::vm_reg_op::vm_reg_op;
2use crate::macros::codegen_assert::CODEGEN_ASSERT;
3use crate::records::const_prop_state::ConstPropState;
4use crate::records::register_link::RegisterLink;
5
6impl ConstPropState {
7    pub fn create_reg_link(&mut self, inst_idx: u32, reg_op: crate::records::ir_op::IrOp) {
8        CODEGEN_ASSERT!(!self.inst_link.contains(&inst_idx));
9        let reg = vm_reg_op(reg_op) as u8;
10        let version = self.regs[reg as usize].version;
11        self.inst_link
12            .try_insert(inst_idx, RegisterLink { reg, version });
13    }
14}