Class DominanceFrontier

java.lang.Object
EDU.purdue.cs.bloat.cfg.DominanceFrontier

public class DominanceFrontier extends Object
DominanceFrontier is used to calculate the dominance frontier of each node in a control flow graph.

The dominance frontier of a node x is the set of all nodes w such that x dominates a predacessor of w, but does not strictly dominate w. Basically, nodes in the dominance frontier have one parent that is dominated by x and at least one parent that is not dominated by x.

DominanceFrontier can be used to calculate both the dominance (forward) and the postdominance (reverse) frontiers for a control flow graph.

See Also:
  • Constructor Details

    • DominanceFrontier

      public DominanceFrontier()
  • Method Details

    • buildFrontier

      public static void buildFrontier(FlowGraph graph, boolean reverse)
      Calculates the dominance frontier for a cfg and notifies the blocks in it appropriately.
      Parameters:
      graph - The cfg to operate on
      reverse - Do we calculate the postdominance frontier?