coins.backend.ana
Class ReverseDFST

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

public class ReverseDFST
extends java.lang.Object
implements LocalAnalysis

Reverse Depth First Spanning Tree of the CFG.


Field Summary
static coins.backend.ana.ReverseDFST.Analyzer analyzer
          Factory singleton.
 int[] dfn
          Depth First Number (reverse postorder)
 int[] dfnPre
          Depth First Number (preorder)
 int maxDfn
          Maximum dfn
 BasicBlk[] parent
          Link to parent basic block.
 
Method Summary
(package private)  void depthFirstSearch(BasicBlk blk, BasicBlk from)
          Depth First Search
 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)
          Called after function body.
 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)
           
 
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.ReverseDFST.Analyzer analyzer
Factory singleton.


dfn

public final int[] dfn
Depth First Number (reverse postorder)


dfnPre

public final int[] dfnPre
Depth First Number (preorder)


parent

public final BasicBlk[] parent
Link to parent basic block.


maxDfn

public final int maxDfn
Maximum dfn

Method Detail

depthFirstSearch

void depthFirstSearch(BasicBlk blk,
                      BasicBlk from)
Depth First Search


isUpToDate

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

Specified by:
isUpToDate in interface LocalAnalysis

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)
Description copied from interface: LocalAnalysis
Called after function body.

Specified by:
printAfterFunction in interface LocalAnalysis

printIt

public void printIt(java.io.PrintWriter out)