luaur_code_gen/functions/
compute_block_live_in_reg_set.rs1use crate::functions::visit_vm_reg_defs_uses_ir_visit_use_def_alt_b::visit_vm_reg_defs_uses_t_ir_function_ir_block;
2use crate::records::block_vm_reg_live_in_computation::BlockVmRegLiveInComputation;
3use crate::records::ir_block::IrBlock;
4use crate::records::ir_function::IrFunction;
5use crate::records::register_set::RegisterSet;
6
7pub fn compute_block_live_in_reg_set(
8 function: &mut IrFunction,
9 block: &IrBlock,
10 def_rs: &mut RegisterSet,
11 captured_regs: &mut [u64; 4],
12) -> RegisterSet {
13 let mut visitor = BlockVmRegLiveInComputation::new(def_rs, captured_regs);
14 visit_vm_reg_defs_uses_t_ir_function_ir_block(&mut visitor, function, block);
15 visitor.in_rs
16}