coins.backend.ana
クラス DFST

java.lang.Object
  |
  +--coins.backend.ana.DFST
すべての実装インタフェース:
LocalAnalysis

public class DFST
extends java.lang.Object
implements LocalAnalysis

Depth First Spanning Tree of the CFG.


フィールドの概要
static coins.backend.ana.DFST.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.
 
メソッドの概要
 BasicBlk[] blkVectorByPre()
          Return the vector of basic block in DFN preorder.
 BasicBlk[] blkVectorByRPost()
          Return the vector of basic block in DFN reverse postorder.
(パッケージプライベート)  void depthFirstSearch(BasicBlk blk, BasicBlk from)
          Depth First Search
 boolean isAncestorOf(BasicBlk x, BasicBlk y)
          Return true if node x is an ancestor of node y in the DFST.
 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)
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

analyzer

public static final coins.backend.ana.DFST.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

メソッドの詳細

depthFirstSearch

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


isUpToDate

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

定義:
インタフェース LocalAnalysis 内の isUpToDate

blkVectorByRPost

public BasicBlk[] blkVectorByRPost()
Return the vector of basic block in DFN reverse postorder. Zeroth element is null, entry block is in [1].


blkVectorByPre

public BasicBlk[] blkVectorByPre()
Return the vector of basic block in DFN preorder. Zeroth element is null, entry block is in [1].


isAncestorOf

public boolean isAncestorOf(BasicBlk x,
                            BasicBlk y)
Return true if node x is an ancestor of node y in the DFST.


printBeforeFunction

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

定義:
インタフェース LocalAnalysis 内の printBeforeFunction

printBeforeBlock

public void printBeforeBlock(BasicBlk blk,
                             java.io.PrintWriter output)
インタフェース LocalAnalysis の記述:
Called before each Basic Block.

定義:
インタフェース LocalAnalysis 内の printBeforeBlock

printAfterBlock

public void printAfterBlock(BasicBlk blk,
                            java.io.PrintWriter output)
インタフェース LocalAnalysis の記述:
Called after each Basic Block.

定義:
インタフェース LocalAnalysis 内の printAfterBlock

printBeforeStmt

public void printBeforeStmt(LirNode stmt,
                            java.io.PrintWriter output)
インタフェース LocalAnalysis の記述:
Called before each statement.

定義:
インタフェース LocalAnalysis 内の printBeforeStmt

printAfterStmt

public void printAfterStmt(LirNode stmt,
                           java.io.PrintWriter output)
インタフェース LocalAnalysis の記述:
Called after each statement.

定義:
インタフェース LocalAnalysis 内の printAfterStmt

printAfterFunction

public void printAfterFunction(java.io.PrintWriter out)
インタフェース LocalAnalysis の記述:
Called after function body.

定義:
インタフェース LocalAnalysis 内の printAfterFunction

printIt

public void printIt(java.io.PrintWriter out)