coins.backend.ana
Class DominanceFrontiers

java.lang.Object
  extended bycoins.backend.ana.DominanceFrontiers
All Implemented Interfaces:
LocalAnalysis

public class DominanceFrontiers
extends java.lang.Object
implements LocalAnalysis

Find dominance frontiers of the control flow graph.


Field Summary
static coins.backend.ana.DominanceFrontiers.Analyzer analyzer
          Factory singleton.
 BiList[] frontiers
          BasicBlk-id-indexed array, whose elements are dominance frontiers of the block.
 
Method Summary
 boolean isUpToDate()
          Return true if this analysis is up to date.
 void printAfterBlock(BasicBlk blk, java.io.PrintWriter output)
          Called after each Basic Block.
 void printAfterFunction(java.io.PrintWriter out)
          Dump dominance frontiers on stream out
 void printAfterStmt(LirNode stmt, java.io.PrintWriter output)
          Called after each statement.
 void printBeforeBlock(BasicBlk blk, java.io.PrintWriter output)
          Called before each Basic Block.
 void printBeforeFunction(java.io.PrintWriter output)
          Debug print entries required by interface.
 void printBeforeStmt(LirNode stmt, java.io.PrintWriter output)
          Called before each statement.
 void printIt(java.io.PrintWriter out)
          Dump dominance frontiers on stream out (OBSOLETED)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

analyzer

public static final coins.backend.ana.DominanceFrontiers.Analyzer analyzer
Factory singleton.


frontiers

public final BiList[] frontiers
BasicBlk-id-indexed array, whose elements are dominance frontiers of the block.

Method Detail

isUpToDate

public boolean isUpToDate()
Return true if this analysis is up to date.

Specified by:
isUpToDate in interface LocalAnalysis

printIt

public void printIt(java.io.PrintWriter out)
Dump dominance frontiers on stream out (OBSOLETED)


printBeforeFunction

public void printBeforeFunction(java.io.PrintWriter output)
Debug print entries required by interface.

Specified by:
printBeforeFunction in interface LocalAnalysis

printBeforeBlock

public void printBeforeBlock(BasicBlk blk,
                             java.io.PrintWriter output)
Description copied from interface: LocalAnalysis
Called before each Basic Block.

Specified by:
printBeforeBlock in interface LocalAnalysis

printAfterBlock

public void printAfterBlock(BasicBlk blk,
                            java.io.PrintWriter output)
Description copied from interface: LocalAnalysis
Called after each Basic Block.

Specified by:
printAfterBlock in interface LocalAnalysis

printBeforeStmt

public void printBeforeStmt(LirNode stmt,
                            java.io.PrintWriter output)
Description copied from interface: LocalAnalysis
Called before each statement.

Specified by:
printBeforeStmt in interface LocalAnalysis

printAfterStmt

public void printAfterStmt(LirNode stmt,
                           java.io.PrintWriter output)
Description copied from interface: LocalAnalysis
Called after each statement.

Specified by:
printAfterStmt in interface LocalAnalysis

printAfterFunction

public void printAfterFunction(java.io.PrintWriter out)
Dump dominance frontiers on stream out

Specified by:
printAfterFunction in interface LocalAnalysis