Expand description

An algorithm to compute control-dependencies between MIR blocks.

In a function $f$, a block $Y$ is control-dependent on a block $X$ if the execution of $Y$ is conditional on $X$, e.g. if $X$ is a conditional branch and $Y$ is one of the branches.

See Section 3.1 of “The Program Dependence Graph and Its Use in Optimization” (Ferrante et al. 1987) for more on how to define and analyze control-dependence.

Structs

  • Represents the control dependencies between all pairs of nodes of a graph.
  • Represents the post-dominators of a graph’s nodes with respect to a particular exit.