|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.util.SpaceEffGraphEdge org.jikesrvm.compilers.opt.depgraph.DepGraphEdge
public final class DepGraphEdge
Dependence graph edges: connect operands of different instructions represented by dependence graph nodes.
Field Summary | |
---|---|
private RegisterOperand |
_destOperand
The destination operand (of a REG_TRUE dependence) |
Fields inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphEdge |
---|
_fromNode, _toNode, nextIn, nextOut, scratch |
Fields inherited from interface org.jikesrvm.compilers.opt.depgraph.DepGraphConstants |
---|
COMPACT, CONTROL, EXCEPTION_E, EXCEPTION_ML, EXCEPTION_MS, EXCEPTION_R, GUARD_ANTI, GUARD_OUTPUT, GUARD_TRUE, MEM_ANTI, MEM_OUTPUT, MEM_READS_KILL, MEM_TRUE, REG_ANTI, REG_MAY_DEF, REG_OUTPUT, REG_TRUE, SEQ |
Constructor Summary | |
---|---|
DepGraphEdge(DepGraphNode sourceNode,
DepGraphNode destNode,
int depKind)
|
|
DepGraphEdge(RegisterOperand destOp,
DepGraphNode sourceNode,
DepGraphNode destNode,
int depKind)
Constructor for dependence graph edge of a REG_TRUE dependence from sourceNode to destNode due to destOp |
Method Summary | |
---|---|
(package private) void |
addDepType(int type)
Augment the type of the dependence edge. |
(package private) int |
depKind()
Get the type of the dependence edge. |
(package private) RegisterOperand |
destOperand()
Get the destination operand. |
static DepGraphEdge |
findInputEdge(DepGraphNode n,
Operand op)
Return the input edge for a given node that corresponds to a given operand. |
String |
fromNodeString()
Returns the string representation of the start node (used for printing). |
String |
getTypeString()
Get the string representation of edge type (used for printing). |
boolean |
isControl()
Does this edge represent a control dependence? |
boolean |
isExceptionE()
Does this edge represent an exception-exception dependence? |
boolean |
isExceptionML()
Does this edge represent an exception-load dependence? |
boolean |
isExceptionMS()
Does this edge represent an exception-store dependence? |
boolean |
isExceptionR()
Does this edge represent an exception-register live dependence? |
boolean |
isGuardAnti()
Does this edge represent a guard anti-dependence? |
boolean |
isGuardOutput()
Does this edge represent a guard output dependence? |
boolean |
isGuardTrue()
Does this edge represent a guard true dependence? |
boolean |
isMemAnti()
Does this edge represent a memory anti-dependence? |
boolean |
isMemOutput()
Does this edge represent a memory output dependence? |
boolean |
isMemReadsKill()
Does this edge represent a memory reads-kill dependence? |
boolean |
isMemTrue()
Does this edge represent a memory true dependence? |
boolean |
isRegAnti()
Does this edge represent a register anti-dependence? |
static boolean |
isRegAnti(SpaceEffGraphEdge edge)
Does a given edge represent a register anti-dependence? |
boolean |
isRegMayDef()
Does this edge represent a register may def? |
boolean |
isRegOutput()
Does this edge represent a register output dependence? |
static boolean |
isRegOutput(SpaceEffGraphEdge edge)
Does a given edge represent a register output dependence? |
boolean |
isRegTrue()
Does this edge represent a register true dependence? |
static boolean |
isRegTrue(SpaceEffGraphEdge edge)
Does a given edge represent a register true dependence? |
String |
toNodeString()
Returns the string representation of the end node (used for printing). |
String |
toString()
Returns the string representation of the edge. |
Methods inherited from class org.jikesrvm.compilers.opt.util.SpaceEffGraphEdge |
---|
backEdge, clearBackEdge, clearDominatorEdge, clearVisited, dominatorEdge, from, fromNode, getInfo, getNextIn, getNextOut, setBackEdge, setDominatorEdge, setInfo, setVisited, to, toNode, visited |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private RegisterOperand _destOperand
Constructor Detail |
---|
DepGraphEdge(DepGraphNode sourceNode, DepGraphNode destNode, int depKind)
sourceNode
- source dependence graph nodedestNode
- destination dependence graph nodedepKind
- the type of the dependence edgeDepGraphEdge(RegisterOperand destOp, DepGraphNode sourceNode, DepGraphNode destNode, int depKind)
destOp
- destination operandsourceNode
- source dependence graph nodedestNode
- destination dependence graph nodedepKind
- the type of the dependence edgeMethod Detail |
---|
public boolean isRegTrue()
true
if yes, false
otherwisepublic boolean isRegAnti()
true
if yes, false
otherwisepublic boolean isRegOutput()
true
if yes, false
otherwisepublic boolean isRegMayDef()
true
if yes, false
otherwisepublic boolean isMemTrue()
true
if yes, false
otherwisepublic boolean isMemAnti()
true
if yes, false
otherwisepublic boolean isMemOutput()
true
if yes, false
otherwisepublic boolean isMemReadsKill()
true
if yes, false
otherwisepublic boolean isControl()
true
if yes, false
otherwisepublic boolean isExceptionE()
true
if yes, false
otherwisepublic boolean isExceptionMS()
true
if yes, false
otherwisepublic boolean isExceptionML()
true
if yes, false
otherwisepublic boolean isExceptionR()
true
if yes, false
otherwisepublic boolean isGuardTrue()
true
if yes, false
otherwisepublic boolean isGuardAnti()
true
if yes, false
otherwisepublic boolean isGuardOutput()
true
if yes, false
otherwisepublic static boolean isRegTrue(SpaceEffGraphEdge edge)
edge
- the edge to test
true
if yes, false
otherwisepublic static boolean isRegAnti(SpaceEffGraphEdge edge)
edge
- the edge to test
true
if yes, false
otherwisepublic static boolean isRegOutput(SpaceEffGraphEdge edge)
edge
- the edge to test
true
if yes, false
otherwisevoid addDepType(int type)
type
- the additional type for the edgeint depKind()
RegisterOperand destOperand()
public String getTypeString()
getTypeString
in class SpaceEffGraphEdge
public String toString()
toString
in class Object
public String toNodeString()
toNodeString
in class SpaceEffGraphEdge
SpaceEffGraphEdge.toNodeString()
public String fromNodeString()
fromNodeString
in class SpaceEffGraphEdge
SpaceEffGraphEdge.fromNodeString()
public static DepGraphEdge findInputEdge(DepGraphNode n, Operand op)
n
- destination nodeop
- destination operand
null
if not found
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |