View Javadoc

1   /*
2    * Created on Oct 8, 2003
3    *
4    * To change the template for this generated file go to
5    * Window - Preferences - Java - Code Generation - Code and Comments
6    */
7   package joeq.Compiler.Analysis.IPSSA;
8   
9   import java.util.Set;
10  import java.io.PrintStream;
11  import joeq.Compiler.Quad.BasicBlock;
12  import joeq.Compiler.Quad.Quad;
13  
14   /***
15   * @author V.Benjamin Livshits
16   */
17  public interface DominatorQuery {
18      /*** The result is null for the top node of the CFG. */
19      public Quad getImmediateDominator(Quad q);
20      /*** Checks if the node is the top node of the CFG. */
21      public boolean isTop(Quad q);
22      /*** Fills set with the dominance frontier of q */
23      public void getDominanceFrontier(Quad q, Set/*<Quad>*/ set);
24      /*** Fills set with the iterated dominance frontier of q */
25      public void getIteratedDominanceFrontier(Quad q, Set/*<Quad>*/ set);
26      /*** Prints the dominator tree on Quads in dot format. */    
27      public void printDot(PrintStream out);
28      public BasicBlock getBasicBlock(Quad quad); 
29  };
30