(graph: G)
| 59 | impl<T> EndsControlFlowGraph for T where T: ControlFlowGraph + WithEndNodes {} |
| 60 | |
| 61 | pub fn post_dominators<G: EndsControlFlowGraph>(graph: G) -> PostDominators<G::Node> { |
| 62 | let end_nodes = graph.end_nodes(); |
| 63 | let rpo = postdom_reverse_post_order(&graph, end_nodes); |
| 64 | post_dominators_given_rpo(graph, &rpo) |
| 65 | } |
| 66 | |
| 67 | pub fn postdom_reverse_post_order<G: DirectedGraph + Predecessors + WithEndNodes>( |
| 68 | graph: &G, |