harpoon.Backend.CSAHack.FlowGraph
Class FlowGraph

java.lang.Object
  extended by harpoon.Backend.CSAHack.Graph.Graph
      extended by harpoon.Backend.CSAHack.FlowGraph.FlowGraph
Direct Known Subclasses:
AssemFlowGraph

public abstract class FlowGraph
extends Graph

A control flow graph is a directed graph in which each edge indicates a possible flow of control. Also, each node in the graph defines a set of temporaries; each node uses a set of temporaries; and each node is, or is not, a move instruction.

See Also:
AssemFlowGraph

Constructor Summary
FlowGraph()
           
 
Method Summary
abstract  TempList def(Node node)
          The set of temporaries defined by this instruction or block
abstract  boolean isMove(Node node)
          True if this node represents a move instruction, i.e. one that can be deleted if def=use.
 void show(PrintStream out)
          Print a human-readable dump for debugging.
abstract  TempList use(Node node)
          The set of temporaries used by this instruction or block
 
Methods inherited from class harpoon.Backend.CSAHack.Graph.Graph
addEdge, newNode, nodes, rmEdge
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlowGraph

public FlowGraph()
Method Detail

def

public abstract TempList def(Node node)
The set of temporaries defined by this instruction or block


use

public abstract TempList use(Node node)
The set of temporaries used by this instruction or block


isMove

public abstract boolean isMove(Node node)
True if this node represents a move instruction, i.e. one that can be deleted if def=use.


show

public void show(PrintStream out)
Print a human-readable dump for debugging.

Overrides:
show in class Graph