Class DominanceFrontier


  • public class DominanceFrontier
    extends java.lang.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:
    FlowGraph
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void buildFrontier​(FlowGraph graph, boolean reverse)
      Calculates the dominance frontier for a cfg and notifies the blocks in it appropriately.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DominanceFrontier

        public DominanceFrontier()
    • Method Detail

      • 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?