Lines Matching refs:Block
5 use crate::ir::{Block, Function, Layout, ProgramPoint};
21 block: PackedOption<Block>,
79 fn push(&mut self, ancestor: u32, block: Block) -> u32 { in push()
115 Enter(u32, Block),
116 Exit(Block),
123 idom: PackedOption<Block>,
128 child: PackedOption<Block>,
131 sibling: PackedOption<Block>,
148 postorder: Vec<Block>,
150 nodes: SecondaryMap<Block, DominatorTreeNode>,
164 pub fn is_reachable(&self, block: Block) -> bool { in is_reachable()
172 pub fn cfg_postorder(&self) -> &[Block] { in cfg_postorder() argument
181 pub fn cfg_rpo(&self) -> impl Iterator<Item = &Block> { in cfg_rpo()
196 pub fn idom(&self, block: Block) -> Option<Block> { in idom() argument
218 ProgramPoint::Block(block_a) => match b { in dominates()
219 ProgramPoint::Block(block_b) => self.block_dominates(block_a, block_b), in dominates()
228 let block_a: Block = layout in dominates()
232 ProgramPoint::Block(block_b) => { in dominates()
254 pub fn block_dominates(&self, block_a: Block, block_b: Block) -> bool { in block_dominates() argument
264 pub fn children(&self, block: Block) -> ChildIter<'_> { in children()
519 next: PackedOption<Block>,
523 type Item = Block;
525 fn next(&mut self) -> Option<Block> { in next() argument