|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.backend.ana.DataFlowAnalysis
coins.backend.ana.LiveVariableBitMap
Live variable analysis. Set information is represented by bitmap vectors.
| Field Summary | |
static coins.backend.ana.LiveVariableBitMap.Analyzer |
analyzer
Factory singleton. |
| Fields inherited from class coins.backend.ana.DataFlowAnalysis |
function, isForward, timeStamp |
| 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. |
(package private) void |
confluence(BasicBlk blk)
Supply confluence operator (=join at here) for block blk. |
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. |
(package private) void |
initialize()
Initialize problem-oriented data structure. |
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. |
void |
printAfterBlock(BasicBlk blk,
java.io.PrintWriter output)
Called after each Basic Block. |
void |
printAfterFunction(java.io.PrintWriter output)
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. |
(package private) boolean |
transfer(BasicBlk blk)
Supply transfer function for block blk. |
(package private) void |
windUp()
Finalization. |
| Methods inherited from class coins.backend.ana.DataFlowAnalysis |
isUpToDate |
| 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 |
isUpToDate |
| Field Detail |
public static final coins.backend.ana.LiveVariableBitMap.Analyzer analyzer
| Method Detail |
public boolean isLiveAtEntry(Symbol regvar,
BasicBlk blk)
isLiveAtEntry in interface LiveVariableAnalysis
public boolean isLiveAtEntry(int regvar,
BasicBlk blk)
isLiveAtEntry in interface LiveVariableAnalysis
public boolean isLiveAtExit(Symbol regvar,
BasicBlk blk)
isLiveAtExit in interface LiveVariableAnalysis
public boolean isLiveAtExit(int regvar,
BasicBlk blk)
isLiveAtExit in interface LiveVariableAnalysispublic BiList liveOut(BasicBlk blk)
liveOut in interface LiveVariableAnalysispublic BiList liveIn(BasicBlk blk)
liveIn in interface LiveVariableAnalysispublic NumberSet liveInSet(BasicBlk blk)
liveInSet in interface LiveVariableAnalysispublic NumberSet liveOutSet(BasicBlk blk)
liveOutSet in interface LiveVariableAnalysis
public void getLiveOutSet(NumberSet x,
BasicBlk blk)
getLiveOutSet in interface LiveVariableAnalysis
public void addLiveOutSet(NumberSet x,
BasicBlk blk)
addLiveOutSet in interface LiveVariableAnalysis
public void getLiveInSet(NumberSet x,
BasicBlk blk)
getLiveInSet in interface LiveVariableAnalysis
public void addLiveInSet(NumberSet x,
BasicBlk blk)
addLiveInSet in interface LiveVariableAnalysisvoid initialize()
initialize in class DataFlowAnalysisvoid confluence(BasicBlk blk)
confluence in class DataFlowAnalysisboolean transfer(BasicBlk blk)
transfer in class DataFlowAnalysisvoid windUp()
windUp in class DataFlowAnalysispublic void printBeforeFunction(java.io.PrintWriter output)
printBeforeFunction in interface LocalAnalysis
public void printBeforeBlock(BasicBlk blk,
java.io.PrintWriter output)
LocalAnalysis
printBeforeBlock in interface LocalAnalysis
public void printAfterBlock(BasicBlk blk,
java.io.PrintWriter output)
LocalAnalysis
printAfterBlock in interface LocalAnalysis
public void printBeforeStmt(LirNode stmt,
java.io.PrintWriter output)
LocalAnalysis
printBeforeStmt in interface LocalAnalysis
public void printAfterStmt(LirNode stmt,
java.io.PrintWriter output)
LocalAnalysis
printAfterStmt in interface LocalAnalysispublic void printAfterFunction(java.io.PrintWriter output)
LocalAnalysis
printAfterFunction in interface LocalAnalysis
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||