harpoon.Analysis
Class UseDef<HCE extends HCodeElement>

java.lang.Object
  extended by harpoon.Analysis.UseDef<HCE>
All Implemented Interfaces:
UseDefMap<HCE>

public class UseDef<HCE extends HCodeElement>
extends Object
implements UseDefMap<HCE>

UseDef objects map Temps to the HCodeElements which use or define them. The UseDef caches its results, so you should throw away your current UseDef object and make another one if you make modifications to the IR.

Version:
$Id: UseDef.java,v 1.15 2004/02/08 03:19:12 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Constructor Summary
UseDef()
          Creates a new, empty UseDef.
 
Method Summary
 Temp[] allDefs(HCode<HCE> hc)
          Return an array of all Temps defined in a given HCode.
 Temp[] allTemps(HCode<HCE> hc)
          Return an array of all Temps used or defined in a given HCode.
 Temp[] allUses(HCode<HCE> hc)
          Return an array of all Temps used in a given HCode.
 HCE[] defMap(HCode<HCE> hc, Temp t)
          Return the HCodeElements which define a given Temp.
 HCE[] useMap(HCode<HCE> hc, Temp t)
          Return the HCodeElements which use a given Temp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UseDef

public UseDef()
Creates a new, empty UseDef.

Method Detail

defMap

public HCE[] defMap(HCode<HCE> hc,
                    Temp t)
Return the HCodeElements which define a given Temp.

Specified by:
defMap in interface UseDefMap<HCE extends HCodeElement>
Parameters:
hc - The HCode containing t.
t - The temporary to examine.
Returns:
an array of HCodeElements where HCodeElement.def() includes t.

useMap

public HCE[] useMap(HCode<HCE> hc,
                    Temp t)
Return the HCodeElements which use a given Temp.

Specified by:
useMap in interface UseDefMap<HCE extends HCodeElement>
Parameters:
hc - The HCode containing t.
t - The temporary to examine.
Returns:
an array of HCodeElements where HCodeElement.use() includes t.

allDefs

public Temp[] allDefs(HCode<HCE> hc)
Return an array of all Temps defined in a given HCode.


allUses

public Temp[] allUses(HCode<HCE> hc)
Return an array of all Temps used in a given HCode.


allTemps

public Temp[] allTemps(HCode<HCE> hc)
Return an array of all Temps used or defined in a given HCode.