java.lang.Object
Compil3r.Dataflow.Problem
Compil3r.Dataflow.ReachingDefs
- public class ReachingDefs
- extends Problem
ReachingDefs
- Version:
- $Id: ReachingDefs.java,v 1.1 2003/06/17 02:37:51 joewhaley Exp $
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
quads
Compil3r.Quad.Quad[] quads
transferFunctions
java.util.Map transferFunctions
emptySet
ReachingDefs.RDSet emptySet
emptyTF
ReachingDefs.RDTransferFunction emptyTF
TRACE
static final boolean TRACE
- See Also:
- Constant Field Values
ReachingDefs
public ReachingDefs()
initialize
public void initialize(Util.Graphs.Graph g)
- Description copied from class:
Problem
- Performs necessary initialization for this dataflow problem.
- Overrides:
initialize in class Problem
handleEdges
private void handleEdges(Compil3r.Quad.BasicBlock bb,
Util.Templates.List.BasicBlock bbs,
Util.BitString gen,
ReachingDefs.RDTransferFunction defaultTF)
direction
public boolean direction()
- Description copied from class:
Problem
- Returns true if this is a forward dataflow problem, false if it is
a backward dataflow problem.
- Specified by:
direction in class Problem
boundary
public Fact boundary()
- Description copied from class:
Problem
- Returns the boundary value for this dataflow problem. For a forward
problem, this is the value at the entrypoint, whereas for a backward problem,
this is the value at the exitpoint.
- Specified by:
boundary in class Problem
interior
public Fact interior()
- Description copied from class:
Problem
- Returns the value that the interior points should be initialized to.
- Specified by:
interior in class Problem
getTransferFunction
public TransferFunction getTransferFunction(java.lang.Object e)
- Description copied from class:
Problem
- Returns the transfer function for the given code element.
- Specified by:
getTransferFunction in class Problem
main
public static void main(java.lang.String[] args)
solve
private static void solve(Compil3r.Quad.ControlFlowGraph cfg,
Solver s,
Problem p)
dumpResults
private static void dumpResults(Compil3r.Quad.ControlFlowGraph cfg,
Solver s)
compareResults
private static void compareResults(Compil3r.Quad.ControlFlowGraph cfg,
Solver s1,
Solver s2)