use crate::records::remove_dead_store_state::RemoveDeadStoreState;
use crate::records::store_reg_info::StoreRegInfo;
impl RemoveDeadStoreState {
pub fn def_reg(&mut self, reg: u8) {
let function = unsafe { &*self.function };
if (function.cfg.captured.regs[reg as usize / 64] & (1u64 << (reg as usize % 64))) != 0 {
return;
}
let reg_info: &mut StoreRegInfo =
unsafe { &mut *(&mut self.info[reg as usize] as *mut StoreRegInfo) };
self.kill_tag_and_value_store_pair(reg_info);
self.kill_t_value_store(reg_info);
reg_info.tag_inst_idx = !0u32;
reg_info.value_inst_idx = !0u32;
reg_info.tvalue_inst_idx = !0u32;
reg_info.known_tag = 0xff;
reg_info.ignore_at_exit = false;
}
}