harpoon.Analysis.Quads
Class QuadInterferenceGraph

java.lang.Object
  extended by harpoon.Analysis.Quads.QuadInterferenceGraph
All Implemented Interfaces:
InterferenceGraph, Grapher<Temp>

public class QuadInterferenceGraph
extends Object
implements InterferenceGraph

QuadInterferenceGraph constructs a variable-liveness interference graph from a Quad.Code. There is an edge between Temp t1 and Temp t2 if t1 and t2 are ever live at the same point.

QuadInterferenceGraph is a Grapher for Temps.

Version:
$Id: QuadInterferenceGraph.java,v 1.5 2004/02/08 03:20:10 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Constructor Summary
QuadInterferenceGraph(Code code)
          Creates a QuadInterferenceGraph.
QuadInterferenceGraph(Code code, Liveness<Quad> live)
           
 
Method Summary
 boolean isEdge(Temp from, Temp to)
           
 List<HCodeElement> moves()
          unimplemented.
 Set<Temp> predSet(Temp node)
           
 int spillCost(Temp t)
          unimplemented.
 Set<Temp> succSet(Temp node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuadInterferenceGraph

public QuadInterferenceGraph(Code code)
Creates a QuadInterferenceGraph.


QuadInterferenceGraph

public QuadInterferenceGraph(Code code,
                             Liveness<Quad> live)
Method Detail

spillCost

public int spillCost(Temp t)
unimplemented. always returns 1.

Specified by:
spillCost in interface InterferenceGraph

moves

public List<HCodeElement> moves()
unimplemented. always returns 0-element list.

Specified by:
moves in interface InterferenceGraph

isEdge

public boolean isEdge(Temp from,
                      Temp to)
Specified by:
isEdge in interface Grapher<Temp>

succSet

public Set<Temp> succSet(Temp node)
Specified by:
succSet in interface Grapher<Temp>

predSet

public Set<Temp> predSet(Temp node)
Specified by:
predSet in interface Grapher<Temp>