coins.backend.ana
Interface LiveVariableAnalysis

All Superinterfaces:
LocalAnalysis
All Known Implementing Classes:
LiveVariableBitMap, LiveVariableSlotwise

public interface LiveVariableAnalysis
extends LocalAnalysis

Interface of live variable analysis.


Method Summary
 void addLiveInSet(NumberSet x, BasicBlk blk)
          Add set of live variable numbers at entry to NumberSet x.
 void addLiveOutSet(NumberSet x, BasicBlk blk)
          Add set of live variable numbers at exit of block blk to NumberSet x.
 void getLiveInSet(NumberSet x, BasicBlk blk)
          Copy set of live variable numbers at entry to NumberSet x.
 void getLiveOutSet(NumberSet x, BasicBlk blk)
          Copy set of live variable numbers at exit of block blk to NumberSet x.
 boolean isLiveAtEntry(int regvar, BasicBlk blk)
          Return true if variable regvar is live at entry of blk.
 boolean isLiveAtEntry(Symbol regvar, BasicBlk blk)
          Return true if variable regvar is live at entry of blk.
 boolean isLiveAtExit(int regvar, BasicBlk blk)
          Return true if variable regvar is live at exit of blk.
 boolean isLiveAtExit(Symbol regvar, BasicBlk blk)
          Return true if variable regvar is live at exit of blk.
 BiList liveIn(BasicBlk blk)
          Return the list of live variables at entry of basic block blk.
 NumberSet liveInSet(BasicBlk blk)
          Return set of live variable numbers at entry of basic block.
 BiList liveOut(BasicBlk blk)
          Return the list of live variables at exit of basic block blk.
 NumberSet liveOutSet(BasicBlk blk)
          Return set of live variable numbers at exit of basic block.
 
Methods inherited from interface coins.backend.LocalAnalysis
isUpToDate, printAfterBlock, printAfterFunction, printAfterStmt, printBeforeBlock, printBeforeFunction, printBeforeStmt
 

Method Detail

isLiveAtEntry

public boolean isLiveAtEntry(Symbol regvar,
                             BasicBlk blk)
Return true if variable regvar is live at entry of blk.


isLiveAtEntry

public boolean isLiveAtEntry(int regvar,
                             BasicBlk blk)
Return true if variable regvar is live at entry of blk.


isLiveAtExit

public boolean isLiveAtExit(Symbol regvar,
                            BasicBlk blk)
Return true if variable regvar is live at exit of blk.


isLiveAtExit

public boolean isLiveAtExit(int regvar,
                            BasicBlk blk)
Return true if variable regvar is live at exit of blk.


liveOut

public BiList liveOut(BasicBlk blk)
Return the list of live variables at exit of basic block blk.


liveIn

public BiList liveIn(BasicBlk blk)
Return the list of live variables at entry of basic block blk.


liveInSet

public NumberSet liveInSet(BasicBlk blk)
Return set of live variable numbers at entry of basic block.


liveOutSet

public NumberSet liveOutSet(BasicBlk blk)
Return set of live variable numbers at exit of basic block.


getLiveOutSet

public void getLiveOutSet(NumberSet x,
                          BasicBlk blk)
Copy set of live variable numbers at exit of block blk to NumberSet x.


addLiveOutSet

public void addLiveOutSet(NumberSet x,
                          BasicBlk blk)
Add set of live variable numbers at exit of block blk to NumberSet x.


getLiveInSet

public void getLiveInSet(NumberSet x,
                         BasicBlk blk)
Copy set of live variable numbers at entry to NumberSet x.


addLiveInSet

public void addLiveInSet(NumberSet x,
                         BasicBlk blk)
Add set of live variable numbers at entry to NumberSet x.