Lines Matching refs:Block
8 use crate::ir::{Block, Function, Layout, ProgramPoint};
32 idom: PackedOption<Block>,
37 nodes: SecondaryMap<Block, DomNode>,
40 postorder: Vec<Block>,
51 pub fn is_reachable(&self, block: Block) -> bool { in is_reachable()
59 pub fn cfg_postorder(&self) -> &[Block] { in cfg_postorder() argument
74 pub fn idom(&self, block: Block) -> Option<Block> { in idom() argument
79 pub fn rpo_cmp_block(&self, a: Block, b: Block) -> Ordering { in rpo_cmp_block() argument
118 ProgramPoint::Block(block_a) => match b { in dominates()
119 ProgramPoint::Block(block_b) => self.block_dominates(block_a, block_b), in dominates()
128 let block_a: Block = layout in dominates()
132 ProgramPoint::Block(block_b) => { in dominates()
153 fn block_dominates(&self, block_a: Block, mut block_b: Block) -> bool { in block_dominates() argument
172 fn common_dominator(&self, mut a: Block, mut b: Block) -> Block { in common_dominator() argument
309 fn compute_idom(&self, block: Block, cfg: &ControlFlowGraph) -> Block { in compute_idom() argument