luaur_code_gen/methods/
const_prop_state_create_reg_link.rs1use 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}