]> git.lizzy.rs Git - rust.git/commitdiff
micro-optimize dominator code
authorNiko Matsakis <niko@alum.mit.edu>
Mon, 13 Aug 2018 23:05:07 +0000 (19:05 -0400)
committerNiko Matsakis <niko@alum.mit.edu>
Mon, 27 Aug 2018 17:57:55 +0000 (13:57 -0400)
src/librustc_data_structures/graph/dominators/mod.rs

index e54147cbe7c8793a9e4d36925f14c5d5c296d4e7..9b7f4cec47b8e70fb90ef8c0e731c2bef5285002 100644 (file)
@@ -38,13 +38,13 @@ pub fn dominators_given_rpo<G: ControlFlowGraph>(
 
     // compute the post order index (rank) for each node
     let mut post_order_rank: IndexVec<G::Node, usize> =
-        IndexVec::from_elem_n(usize::default(), graph.num_nodes());
+        (0..graph.num_nodes()).map(|_| 0).collect();
     for (index, node) in rpo.iter().rev().cloned().enumerate() {
         post_order_rank[node] = index;
     }
 
     let mut immediate_dominators: IndexVec<G::Node, Option<G::Node>> =
-        IndexVec::from_elem_n(Option::default(), graph.num_nodes());
+        (0..graph.num_nodes()).map(|_| None).collect();
     immediate_dominators[start_node] = Some(start_node);
 
     let mut changed = true;