diff --git a/lib/cretonne/src/dominator_tree.rs b/lib/cretonne/src/dominator_tree.rs index f7b7273681..27caf338dc 100644 --- a/lib/cretonne/src/dominator_tree.rs +++ b/lib/cretonne/src/dominator_tree.rs @@ -340,7 +340,7 @@ impl DominatorTree { /// post-order except for the insertion of the new EBB header at the split point. fn push_successors(&mut self, func: &Function, ebb: Ebb) { for inst in func.layout.ebb_insts(ebb) { - match func.dfg[inst].analyze_branch(&func.dfg.value_lists) { + match func.dfg.analyze_branch(inst) { BranchInfo::SingleDest(succ, _) => { if self.nodes[succ].rpo_number == 0 { self.nodes[succ].rpo_number = SEEN; diff --git a/lib/cretonne/src/flowgraph.rs b/lib/cretonne/src/flowgraph.rs index d1e45312ac..fbc74b79d0 100644 --- a/lib/cretonne/src/flowgraph.rs +++ b/lib/cretonne/src/flowgraph.rs @@ -108,7 +108,7 @@ impl ControlFlowGraph { fn compute_ebb(&mut self, func: &Function, ebb: Ebb) { for inst in func.layout.ebb_insts(ebb) { - match func.dfg[inst].analyze_branch(&func.dfg.value_lists) { + match func.dfg.analyze_branch(inst) { BranchInfo::SingleDest(dest, _) => { self.add_edge((ebb, inst), dest); } diff --git a/lib/cretonne/src/regalloc/coloring.rs b/lib/cretonne/src/regalloc/coloring.rs index 74d80e1832..fb60a979c8 100644 --- a/lib/cretonne/src/regalloc/coloring.rs +++ b/lib/cretonne/src/regalloc/coloring.rs @@ -908,7 +908,7 @@ impl<'a> Context<'a> { let inst = self.cur.current_inst().expect("Not on an instruction"); let ctx = self.liveness.context(&self.cur.func.layout); - match self.cur.func.dfg[inst].analyze_branch(&self.cur.func.dfg.value_lists) { + match self.cur.func.dfg.analyze_branch(inst) { NotABranch => false, SingleDest(ebb, _) => { let lr = &self.liveness[value]; diff --git a/lib/cretonne/src/regalloc/live_value_tracker.rs b/lib/cretonne/src/regalloc/live_value_tracker.rs index d0810a5cf7..3d7eeaa6e5 100644 --- a/lib/cretonne/src/regalloc/live_value_tracker.rs +++ b/lib/cretonne/src/regalloc/live_value_tracker.rs @@ -260,7 +260,7 @@ impl LiveValueTracker { ) -> (&[LiveValue], &[LiveValue], &[LiveValue]) { // Save a copy of the live values before any branches or jumps that could be somebody's // immediate dominator. - match dfg[inst].analyze_branch(&dfg.value_lists) { + match dfg.analyze_branch(inst) { BranchInfo::NotABranch => {} _ => self.save_idom_live_set(inst), } diff --git a/lib/cretonne/src/verifier/locations.rs b/lib/cretonne/src/verifier/locations.rs index 2c93d0de3e..535d04f0ef 100644 --- a/lib/cretonne/src/verifier/locations.rs +++ b/lib/cretonne/src/verifier/locations.rs @@ -274,7 +274,7 @@ impl<'a> LocationVerifier<'a> { }; let dfg = &self.func.dfg; - match dfg[inst].analyze_branch(&dfg.value_lists) { + match dfg.analyze_branch(inst) { NotABranch => { panic!( "No branch information for {}", diff --git a/lib/cretonne/src/verifier/mod.rs b/lib/cretonne/src/verifier/mod.rs index a346573e67..9bc4c0459d 100644 --- a/lib/cretonne/src/verifier/mod.rs +++ b/lib/cretonne/src/verifier/mod.rs @@ -693,7 +693,7 @@ impl<'a> Verifier<'a> { } fn typecheck_variable_args(&self, inst: Inst) -> Result { - match self.func.dfg[inst].analyze_branch(&self.func.dfg.value_lists) { + match self.func.dfg.analyze_branch(inst) { BranchInfo::SingleDest(ebb, _) => { let iter = self.func.dfg.ebb_params(ebb).iter().map(|&v| { self.func.dfg.value_type(v) diff --git a/lib/frontend/src/ssa.rs b/lib/frontend/src/ssa.rs index aa6aa81166..06dba9d4ed 100644 --- a/lib/frontend/src/ssa.rs +++ b/lib/frontend/src/ssa.rs @@ -620,7 +620,7 @@ where val: Value, var: Variable, ) -> Option<(Ebb, Block, Inst)> { - match func.dfg[jump_inst].analyze_branch(&func.dfg.value_lists) { + match func.dfg.analyze_branch(jump_inst) { BranchInfo::NotABranch => { panic!("you have declared a non-branch instruction as a predecessor to an ebb"); } @@ -855,7 +855,7 @@ mod tests { cur.ins().iadd(x_use3, y_use3) }; ssa.def_var(y_var, y2_ssa, block2); - match func.dfg[jump_inst].analyze_branch(&func.dfg.value_lists) { + match func.dfg.analyze_branch(jump_inst) { BranchInfo::SingleDest(dest, jump_args) => { assert_eq!(dest, ebb1); assert_eq!(jump_args.len(), 0);