harpoon.Analysis
Class UseDef

java.lang.Object
  |
  +--harpoon.Analysis.UseDef
All Implemented Interfaces:
UseDefMap

public class UseDef
extends Object
implements UseDefMap

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.11 2002/02/25 20:56:11 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>

Constructor Summary
UseDef()
          Creates a new, empty UseDef.
 
Method Summary
 Temp[] allDefs(HCode hc)
          Return an array of all Temps defined in a given HCode.
 Enumeration allDefsE(HCode hc)
          Return an Enumeration of all Temps defined in a given HCode.
 Temp[] allTemps(HCode hc)
          Return an array of all Temps used or defined in a given HCode.
 Enumeration allTempsE(HCode hc)
          Return an Enumeration of all Temps used or defined in a given HCode.
 Temp[] allUses(HCode hc)
          Return an array of all Temps used in a given HCode.
 Enumeration allUsesE(HCode hc)
          Return an Enumeration of all Temps used in a given HCode.
 HCodeElement[] defMap(HCode hc, Temp t)
          Return the HCodeElements which define a given Temp.
 Enumeration defMapE(HCode hc, Temp t)
          Enumerate the HCodeElements which define a given Temp.
 HCodeElement[] useMap(HCode hc, Temp t)
          Return the HCodeElements which use a given Temp.
 Enumeration useMapE(HCode hc, Temp t)
          Enumerate 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 HCodeElement[] defMap(HCode hc,
                             Temp t)
Return the HCodeElements which define a given Temp.

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

defMapE

public Enumeration defMapE(HCode hc,
                           Temp t)
Enumerate the HCodeElements which define a given Temp.

Specified by:
defMapE in interface UseDefMap
Parameters:
hc - The HCode containing t.
t - The temporary to examine.
Returns:
an Enumeration of HCodeElements where HCodeElement.def() includes t.

useMap

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

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

useMapE

public Enumeration useMapE(HCode hc,
                           Temp t)
Enumerate the HCodeElements which use a given Temp.

Specified by:
useMapE in interface UseDefMap
Parameters:
hc - The HCode containing t.
t - The temporary to examine.
Returns:
an Enumeration of HCodeElements where HCodeElement.use() includes t.

allDefs

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


allDefsE

public Enumeration allDefsE(HCode hc)
Return an Enumeration of all Temps defined in a given HCode.


allUses

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


allUsesE

public Enumeration allUsesE(HCode hc)
Return an Enumeration of all Temps used in a given HCode.


allTemps

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


allTempsE

public Enumeration allTempsE(HCode hc)
Return an Enumeration of all Temps used or defined in a given HCode.