public final class DepGraphEdge extends SpaceEffGraphEdge
Modifier and Type | Field and Description |
---|---|
private RegisterOperand |
_destOperand
The destination operand (of a REG_TRUE dependence)
|
Constructor and Description |
---|
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
|
Modifier and Type | Method and Description |
---|---|
(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.
|
backEdge, clearBackEdge, clearDominatorEdge, clearVisited, dominatorEdge, from, fromNode, getInfo, getNextIn, getNextOut, setBackEdge, setDominatorEdge, setInfo, setVisited, to, toNode, visited
private final RegisterOperand _destOperand
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 edgepublic 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 testtrue
if yes, false
otherwisepublic static boolean isRegAnti(SpaceEffGraphEdge edge)
edge
- the edge to testtrue
if yes, false
otherwisepublic static boolean isRegOutput(SpaceEffGraphEdge edge)
edge
- the edge to testtrue
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 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 operandnull
if not found