public abstract class DataFlowProblem<T extends DataFlowProblem<T,U>,U extends FlowGraphNode<T,U>> extends Object
Modifier and Type | Class and Description |
---|---|
static class |
DataFlowProblem.DF_Direction |
Modifier and Type | Field and Description |
---|---|
DataFlowProblem.DF_Direction |
direction |
protected List<U> |
flowGraphNodes |
protected IRScope |
scope |
Constructor and Description |
---|
DataFlowProblem(DataFlowProblem.DF_Direction direction) |
Modifier and Type | Method and Description |
---|---|
int |
addDataFlowVar() |
abstract U |
buildFlowGraphNode(BasicBlock bb) |
void |
compute_MOP_Solution() |
protected LinkedList<U> |
generateWorkList()
Generate an ordered list of flow graph nodes in a forward or backward order depending
on direction.
|
String |
getDataFlowVarsForOutput() |
int |
getDFVarsCount() |
U |
getEntryNode() |
U |
getExitNode() |
DataFlowProblem.DF_Direction |
getFlowDirection() |
U |
getFlowGraphNode(BasicBlock bb) |
abstract String |
getName() |
IRScope |
getScope() |
boolean |
isEmpty()
Are there are available data flow facts to run this problem? SSS FIXME: Silly optimization?
|
void |
setup(IRScope scope) |
String |
toString() |
public final DataFlowProblem.DF_Direction direction
protected List<U extends FlowGraphNode<T,U>> flowGraphNodes
protected IRScope scope
public DataFlowProblem(DataFlowProblem.DF_Direction direction)
public abstract U buildFlowGraphNode(BasicBlock bb)
public abstract String getName()
public boolean isEmpty()
public DataFlowProblem.DF_Direction getFlowDirection()
public void setup(IRScope scope)
public IRScope getScope()
public void compute_MOP_Solution()
protected LinkedList<U> generateWorkList()
public int getDFVarsCount()
public String getDataFlowVarsForOutput()
public U getFlowGraphNode(BasicBlock bb)
public U getEntryNode()
public U getExitNode()
public int addDataFlowVar()
Copyright © 2001-2016 JRuby. All Rights Reserved.