public abstract class DataFlowProblem
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
DataFlowProblem.DF_Direction |
Modifier and Type | Field and Description |
---|---|
protected CFG |
_cfg |
DataFlowProblem.DF_Direction |
_direction |
protected java.util.List<FlowGraphNode> |
_fgNodes |
Constructor and Description |
---|
DataFlowProblem(DataFlowProblem.DF_Direction d) |
Modifier and Type | Method and Description |
---|---|
abstract FlowGraphNode |
buildFlowGraphNode(BasicBlock bb) |
void |
compute_MOP_Solution() |
CFG |
getCFG() |
java.lang.String |
getDataFlowVarsForOutput() |
int |
getDFVarsCount() |
DataFlowProblem.DF_Direction |
getFlowDirection() |
protected FlowGraphNode |
getFlowGraphNode(BasicBlock b) |
abstract java.lang.String |
getName() |
java.util.Set<CFG.CFG_Edge> |
incomingEdgesOf(BasicBlock bb) |
boolean |
isEmpty()
Are there are available data flow facts to run this problem? SSS FIXME: Silly optimization?
|
java.util.Set<CFG.CFG_Edge> |
outgoingEdgesOf(BasicBlock bb) |
void |
setup(CFG c) |
java.lang.String |
toString() |
public final DataFlowProblem.DF_Direction _direction
protected CFG _cfg
protected java.util.List<FlowGraphNode> _fgNodes
public DataFlowProblem(DataFlowProblem.DF_Direction d)
public abstract FlowGraphNode buildFlowGraphNode(BasicBlock bb)
public abstract java.lang.String getName()
public boolean isEmpty()
public DataFlowProblem.DF_Direction getFlowDirection()
public void setup(CFG c)
public CFG getCFG()
public void compute_MOP_Solution()
public int getDFVarsCount()
public java.util.Set<CFG.CFG_Edge> incomingEdgesOf(BasicBlock bb)
public java.util.Set<CFG.CFG_Edge> outgoingEdgesOf(BasicBlock bb)
public java.lang.String getDataFlowVarsForOutput()
public java.lang.String toString()
toString
in class java.lang.Object
protected FlowGraphNode getFlowGraphNode(BasicBlock b)
Copyright © 2002-2009 JRuby Team. All Rights Reserved.