Skip to main content

luaur_code_gen/functions/
get_next_block.rs

1use crate::enums::ir_block_kind::IrBlockKind;
2use crate::records::ir_block::IrBlock;
3use crate::records::ir_function::IrFunction;
4
5pub fn get_next_block<'a>(
6    function: &'a mut IrFunction,
7    sorted_blocks: &[u32],
8    dummy: &'a mut IrBlock,
9    i: usize,
10) -> &'a mut IrBlock {
11    for j in (i + 1)..sorted_blocks.len() {
12        let block_idx = sorted_blocks[j] as usize;
13        if function.blocks[block_idx].kind != IrBlockKind::Dead {
14            return &mut function.blocks[block_idx];
15        }
16    }
17
18    dummy
19}