Package | Description |
---|---|
org.jikesrvm.compilers.opt.controlflow | |
org.jikesrvm.compilers.opt.depgraph |
Provides classes that implement a dependence graph.
|
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.lir2mir |
Provides classes that implement the transition from low-level IR to
machine-specific IR.
|
org.jikesrvm.compilers.opt.regalloc | |
org.jikesrvm.compilers.opt.ssa |
SSA implementation (disabled because of bugs, see entry in issue tracker).
|
org.jikesrvm.compilers.opt.util |
Modifier and Type | Method and Description |
---|---|
private void |
LSTGraph.findNaturalLoop(SpaceEffGraphEdge edge,
BitVector loop)
This routine implements part of the algorithm to compute natural loops
as defined in Muchnick p 192.
|
Modifier and Type | Class and Description |
---|---|
class |
DepGraphEdge
Dependence graph edges: connect operands of different instructions
represented by dependence graph nodes.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
DepGraphEdge.isRegAnti(SpaceEffGraphEdge edge)
Does a given edge represent a register anti-dependence?
|
static boolean |
DepGraphEdge.isRegOutput(SpaceEffGraphEdge edge)
Does a given edge represent a register output dependence?
|
static boolean |
DepGraphEdge.isRegTrue(SpaceEffGraphEdge edge)
Does a given edge represent a register true dependence?
|
Modifier and Type | Field and Description |
---|---|
private SpaceEffGraphEdge |
BasicBlock.InEdgeEnum._edge |
private SpaceEffGraphEdge |
BasicBlock.OutEdgeEnum._edge |
private SpaceEffGraphEdge |
BasicBlock.NormalOutEdgeEnum._edge |
private SpaceEffGraphEdge |
BasicBlock.ExceptionOutEdgeEnum._edge |
Modifier and Type | Field and Description |
---|---|
private SpaceEffGraphEdge[] |
NormalBURS.problemEdges
track problem nodes (nodes with outgoing non-reg-true edges)
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
NormalBURS.rememberAsProblemEdge(SpaceEffGraphEdge e) |
Modifier and Type | Class and Description |
---|---|
(package private) static class |
CoalesceGraph.Edge |
Modifier and Type | Class and Description |
---|---|
(package private) class |
ValueGraphEdge
This class implements an edge in the value graph used in global value
numbering
ala Alpern, Wegman and Zadeck.
|
Modifier and Type | Field and Description |
---|---|
private SpaceEffGraphEdge |
SpaceEffGraphNode.InEdgeEnumeration._edge |
private SpaceEffGraphEdge |
SpaceEffGraphNode.InNodeEnumeration._edge |
private SpaceEffGraphEdge |
SpaceEffGraphNode.OutEdgeEnumeration._edge |
private SpaceEffGraphEdge |
SpaceEffGraphNode.OutNodeEnumeration._edge |
(package private) SpaceEffGraphEdge |
SpaceEffGraphEdgeList._edge |
protected SpaceEffGraphEdge |
SpaceEffGraphNode._inEdgeEnd |
protected SpaceEffGraphEdge |
SpaceEffGraphNode._inEdgeStart |
protected SpaceEffGraphEdge |
SpaceEffGraphNode._outEdgeEnd |
protected SpaceEffGraphEdge |
SpaceEffGraphNode._outEdgeStart |
protected SpaceEffGraphEdge |
SpaceEffGraphEdge.nextIn
Links inlined from LinkedListElement2.
|
protected SpaceEffGraphEdge |
SpaceEffGraphEdge.nextOut
Links inlined from LinkedListElement2.
|
Modifier and Type | Method and Description |
---|---|
SpaceEffGraphEdge |
SpaceEffGraphEdgeList.edge() |
SpaceEffGraphEdge |
SpaceEffGraphNode.findOutEdgeTo(SpaceEffGraphNode n) |
SpaceEffGraphEdge |
SpaceEffGraphNode.firstInEdge() |
SpaceEffGraphEdge |
SpaceEffGraphNode.firstOutEdge() |
SpaceEffGraphEdge |
SpaceEffGraphEdge.getNextIn()
Get the next in edge.
|
SpaceEffGraphEdge |
SpaceEffGraphEdge.getNextOut()
Get the next out edge.
|
SpaceEffGraphEdge |
SpaceEffGraphNode.InEdgeEnumeration.next() |
SpaceEffGraphEdge |
SpaceEffGraphNode.InEdgeEnumeration.nextElement() |
protected SpaceEffGraphEdge |
SpaceEffGraphNode.removeIn(SpaceEffGraphNode InNode) |
protected SpaceEffGraphEdge |
SpaceEffGraphNode.removeOut(SpaceEffGraphNode OutNode) |
Modifier and Type | Method and Description |
---|---|
void |
SpaceEffGraph.addGraphEdge(SpaceEffGraphEdge e)
Add an edge to the graph.
|
(package private) void |
SpaceEffGraphEdge.appendIn(SpaceEffGraphEdge e)
Append a given edge after this edge as an in edge.
|
protected void |
SpaceEffGraphNode.appendInEdge(SpaceEffGraphEdge e) |
(package private) void |
SpaceEffGraphEdge.appendOut(SpaceEffGraphEdge e)
Append a given edge after this edge as an out edge.
|
protected void |
SpaceEffGraphNode.appendOutEdge(SpaceEffGraphEdge e) |
void |
SpaceEffGraphNode.deleteOut(SpaceEffGraphEdge e) |
boolean |
SpaceEffGraphEdgeList.inGraphEdgeList(SpaceEffGraphEdge edge) |
void |
SpaceEffGraphNode.insertOut(SpaceEffGraphNode to,
SpaceEffGraphEdge e) |
protected void |
SpaceEffGraphNode.removeIn(SpaceEffGraphEdge InEdge) |
protected void |
SpaceEffGraphNode.removeOut(SpaceEffGraphEdge OutEdge) |
void |
SpaceEffGraphNode.replaceInEdge(SpaceEffGraphEdge e1,
SpaceEffGraphEdge e2)
Replaces the in edge matching e1 with e2.
|