MCPcopy Create free account
hub / github.com/Rust-GPU/rust-gpu / compute_reachable

Function compute_reachable

crates/rustc_codegen_spirv/src/linker/mem2reg.rs:55–68  ·  view source on GitHub ↗
(blocks: &[Block])

Source from the content-addressed store, hash-verified

53}
54
55fn compute_reachable(blocks: &[Block]) -> Vec<bool> {
56 fn recurse(blocks: &[Block], reachable: &mut [bool], block: usize) {
57 if !reachable[block] {
58 reachable[block] = true;
59 for dest_id in outgoing_edges(&blocks[block]) {
60 let dest_idx = label_to_index(blocks, dest_id);
61 recurse(blocks, reachable, dest_idx);
62 }
63 }
64 }
65 let mut reachable = vec![false; blocks.len()];
66 recurse(blocks, &mut reachable, 0);
67 reachable
68}
69
70fn compute_preds(blocks: &[Block], reachable_blocks: &[bool]) -> Vec<Vec<usize>> {
71 let mut result = vec![vec![]; blocks.len()];

Callers 1

mem2regFunction · 0.85

Calls 1

recurseFunction · 0.70

Tested by

no test coverage detected