MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / is_block_loop_header

Method is_block_loop_header

cranelift/codegen/src/loop_analysis.rs:195–199  ·  view source on GitHub ↗

Determines if a block dominates any predecessor and thus is a loop header.

(block: Block, cfg: &ControlFlowGraph, domtree: &DominatorTree)

Source from the content-addressed store, hash-verified

193 // Determines if a block dominates any predecessor
194 // and thus is a loop header.
195 fn is_block_loop_header(block: Block, cfg: &ControlFlowGraph, domtree: &DominatorTree) -> bool {
196 // A block is a loop header if it dominates any of its predecessors.
197 cfg.pred_iter(block)
198 .any(|pred| domtree.block_dominates(block, pred.block))
199 }
200
201 // Traverses the CFG in reverse postorder and create a loop object for every block having a
202 // back edge.

Callers

nothing calls this directly

Calls 3

anyMethod · 0.80
pred_iterMethod · 0.80
block_dominatesMethod · 0.45

Tested by

no test coverage detected