SandMark version 2.0


sandmark.obfuscate.boolsplitter.dcfg
Class DominanceFrontier

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dcfg.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

Constructor Summary
DominanceFrontier()
           
 
Method Summary
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?

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002