public class LSTNode extends SpaceEffGraphNode
Modifier and Type | Class and Description |
---|---|
(package private) static class |
LSTNode.Edge |
SpaceEffGraphNode.GraphEdgeEnumeration<T extends GraphEdge>, SpaceEffGraphNode.OutEdgeEnumeration
Modifier and Type | Field and Description |
---|---|
(package private) int |
depth
The depth of the loop
|
BasicBlock |
header
Basic block which is the loop head
|
(package private) BitVector |
loop
Basic blocks in the loop
|
(package private) ArrayList<LSTNode.Edge> |
loopExits
The CFG Edges that are exits from the loop.
|
(package private) float |
loopMultiplier
If the loop is entered from the loopHeader x times,
then the loopHead is executed loopMultiplier * x times.
|
_inEdgeEnd, _inEdgeStart, _outEdgeEnd, _outEdgeStart, info, next, nextSorted, prev
Modifier | Constructor and Description |
---|---|
(package private) |
LSTNode(BasicBlock bb) |
protected |
LSTNode(LSTNode node)
Copy constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addLoopExit(BasicBlock source,
BasicBlock target,
float prob) |
Enumeration<LSTNode> |
getChildren() |
BasicBlock |
getHeader() |
BitVector |
getLoop() |
LSTNode |
getParent() |
void |
initializeLoopExits() |
String |
toString() |
_sortDFS, _sortRevTop, _sortTop, append, appendInEdge, appendOutEdge, clearDfsVisited, clearFlags, clearInFlags, clearLoopHeader, clearOnStack, clearOutFlags, clearTopVisited, deleteIn, deleteOut, deleteOut, deleteOut, dfsVisited, findOutEdgeTo, firstInEdge, firstInNode, firstOutEdge, firstOutNode, flagsOn, getIndex, getNext, getNumber, getNumberOfIn, getNumberOfOut, getPrev, hasIn, hasOneIn, hasOneIn, hasOneOut, hasOneOut, hasOut, hasZeroIn, hasZeroOut, inEdges, inNodes, insertOut, insertOut, isLoopHeader, onStack, outEdges, outNodes, pointsIn, pointsOut, printExtended, printInEdges, printInNodes, printOutEdges, printOutNodes, remove, removeIn, removeIn, removeOut, removeOut, replaceInEdge, replaceOut, setDfsVisited, setDfsVisitedOnStack, setIndex, setLoopHeader, setNumber, setOnStack, setTopVisited, sortDFS, sortRevTop, sortTop, topVisited
public final BasicBlock header
int depth
float loopMultiplier
ArrayList<LSTNode.Edge> loopExits
LSTNode(BasicBlock bb)
public BasicBlock getHeader()
public Enumeration<LSTNode> getChildren()
public void initializeLoopExits()
public void addLoopExit(BasicBlock source, BasicBlock target, float prob)