harpoon.Analysis.Companions
Class QuadFlowGraph

java.lang.Object
  extended by harpoon.Util.Collections.AbstractGraph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>
      extended by harpoon.Analysis.Companions.QuadFlowGraph
All Implemented Interfaces:
Graph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>, MutableGraph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>

public class QuadFlowGraph
extends AbstractGraph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>

QuadFlowGraph is an expanded flow graphs for Quads, where additional nodes are added before PHI and after SIGMA nodes to make the dataflow corresponding to the phi and sigma functions easier to express. Move operations corresponding to a PHI (SIGMA) can now take place conceptually before (after) the node, on the incoming (outgoing) edge.

Version:
$Id: QuadFlowGraph.java,v 1.3 2004/02/08 01:50:55 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class harpoon.Util.Collections.AbstractGraph
AbstractGraph.Edge<N extends AbstractGraph.Node<N,E>,E extends AbstractGraph.Edge<N,E>>, AbstractGraph.Node<N extends AbstractGraph.Node<N,E>,E extends Graph.Edge<N,E>>
 
Constructor Summary
QuadFlowGraph(Code c)
          Creates a QuadFlowGraph.
 
Method Summary
 harpoon.Analysis.Companions.QEdge addEdge(harpoon.Analysis.Companions.QNode from, harpoon.Analysis.Companions.QNode to)
          Add an edge from from to to and return the new edge.
 
Methods inherited from class harpoon.Util.Collections.AbstractGraph
addEdge, addNode, nodes, removeEdge, summarize, summarize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuadFlowGraph

public QuadFlowGraph(Code c)
Creates a QuadFlowGraph.

Method Detail

addEdge

public harpoon.Analysis.Companions.QEdge addEdge(harpoon.Analysis.Companions.QNode from,
                                                 harpoon.Analysis.Companions.QNode to)
Description copied from interface: MutableGraph
Add an edge from from to to and return the new edge.

Specified by:
addEdge in interface MutableGraph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>
Specified by:
addEdge in class AbstractGraph<harpoon.Analysis.Companions.QNode,harpoon.Analysis.Companions.QEdge>