|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcoins.backend.ana.LoopAnalysis
Detect loop structures in the flow graph.
Algorithm used is taken from:
R. Endre Tarjan, "Testing Flow Graph Reducibility",
Journal of Computer and System Sciences 9, 355-365 (1974).
| Field Summary | |
static coins.backend.ana.LoopAnalysis.Analyzer |
analyzer
|
boolean[] |
hasExit
hasExii[i] is true if the loop beginning at basic block i
has exit. |
boolean[] |
isLoop
isLoop[i] is true if basic block i is a loop entry. |
BiList[] |
kids
Children of blocks in the loop tree. |
BasicBlk[] |
loopHeader
loopHeader[i] is a entry block of basic block i. |
boolean[] |
multiEntry
isLoop[i] is true if the loop beginning at basic block i
has multiple entries (i.e. |
int[] |
nestLevel
nestLevel[i] is depth of the loop beginning at basic block i. |
| Method Summary | |
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)
Print loop structure. |
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)
Print loop structure (OBSOLETED). |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final coins.backend.ana.LoopAnalysis.Analyzer analyzer
public final boolean[] isLoop
i is a loop entry.
public final BasicBlk[] loopHeader
i.
public final boolean[] multiEntry
i
has multiple entries (i.e. irreducible).
public final boolean[] hasExit
i
has exit.
public final int[] nestLevel
i.
public final BiList[] kids
| Method Detail |
public boolean isUpToDate()
isUpToDate in interface LocalAnalysispublic void printIt(java.io.PrintWriter out)
public 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 out)
printAfterFunction in interface LocalAnalysis
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||