# Function rustc_data_structures::graph::dominators::eval

source ·

    fn eval(
        ancestor: &mut IndexSlice<PreorderIndex, PreorderIndex>,
        lastlinked: Option<PreorderIndex>,
        semi: &IndexSlice<PreorderIndex, PreorderIndex>,
        label: &mut IndexSlice<PreorderIndex, PreorderIndex>,
        node: PreorderIndex
    ) -> PreorderIndex

Expand description

Evaluate the link-eval virtual forest, providing the currently minimum semi value for the passed `node` (which may be itself).

This maintains that for every vertex v, `label[v]` is such that:

    semi[eval(v)] = min { semi[label[u]] | root_in_forest(v) +> u *> v }

where `+>` is a proper ancestor and `*>` is just an ancestor.