coins.backend.ana
Class DataFlowAnalysis

java.lang.Object
  extended bycoins.backend.ana.DataFlowAnalysis
All Implemented Interfaces:
LocalAnalysis
Direct Known Subclasses:
LiveVariableBitMap

public abstract class DataFlowAnalysis
extends java.lang.Object
implements LocalAnalysis

Data Flow Analysis Tool


Field Summary
protected  Function function
           
protected  boolean isForward
           
protected  int timeStamp
          Copy of CFG timestamp to be analyzed.
 
Constructor Summary
DataFlowAnalysis(Function f)
          Solve data flow equations for Function f.
 
Method Summary
(package private) abstract  void confluence(BasicBlk blk)
          Supply confluence operator for block blk.
(package private) abstract  void initialize()
          Initialize problem-oriented data structure.
 boolean isUpToDate()
          Return true if this analysis is up to date.
(package private) abstract  boolean transfer(BasicBlk blk)
          Supply transfer function for block blk.
(package private) abstract  void windUp()
          Finalize problem-oriented data structure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface coins.backend.LocalAnalysis
printAfterBlock, printAfterFunction, printAfterStmt, printBeforeBlock, printBeforeFunction, printBeforeStmt
 

Field Detail

timeStamp

protected int timeStamp
Copy of CFG timestamp to be analyzed.


function

protected Function function

isForward

protected boolean isForward
Constructor Detail

DataFlowAnalysis

public DataFlowAnalysis(Function f)
Solve data flow equations for Function f.

Method Detail

isUpToDate

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

Specified by:
isUpToDate in interface LocalAnalysis

initialize

abstract void initialize()
Initialize problem-oriented data structure.


confluence

abstract void confluence(BasicBlk blk)
Supply confluence operator for block blk. It is either Meet or Join.


transfer

abstract boolean transfer(BasicBlk blk)
Supply transfer function for block blk.


windUp

abstract void windUp()
Finalize problem-oriented data structure.