harpoon.Analysis
Class ReachingDefsImpl

java.lang.Object
  |
  +--harpoon.Analysis.ReachingDefs
        |
        +--harpoon.Analysis.ReachingDefsImpl

public class ReachingDefsImpl
extends ReachingDefs

ReachingDefsImpl defines an implementation for analyzing reaching definitions. Since results are cached, a new ReachingDefsImpl should be created if the code has been modified.

Version:
$Id: ReachingDefsImpl.java,v 1.3 2002/02/26 22:39:08 cananian Exp $
Author:
Karen K. Zee <kkz@alum.mit.edu>

Field Summary
protected  BasicBlock.Factory bbf
           
protected  Map cache
           
protected  boolean check_typecast
           
protected  Map Temp_to_BitSetFactories
           
protected  UseDefer ud
           
 
Fields inherited from class harpoon.Analysis.ReachingDefs
hc, TIME
 
Constructor Summary
ReachingDefsImpl(HCode hc)
          Creates a ReachingDefsImpl object for the provided HCode using CFGrapher.DEFAULT.
ReachingDefsImpl(HCode hc, CFGrapher cfger)
          Creates a ReachingDefsImpl object for the provided HCode for an IR implementing UseDefable using the provided CFGrapher.
ReachingDefsImpl(HCode hc, CFGrapher cfger, UseDefer ud)
          Creates a ReachingDefsImpl object for the provided HCode using the provided CFGrapher and UseDefer.
 
Method Summary
 Set reachingDefs(HCodeElement hce, Temp t)
          Returns the Set of HCodeElements providing definitions of Temp t which reach HCodeElement hce.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bbf

protected final BasicBlock.Factory bbf

Temp_to_BitSetFactories

protected final Map Temp_to_BitSetFactories

cache

protected final Map cache

check_typecast

protected final boolean check_typecast

ud

protected final UseDefer ud
Constructor Detail

ReachingDefsImpl

public ReachingDefsImpl(HCode hc,
                        CFGrapher cfger)
Creates a ReachingDefsImpl object for the provided HCode for an IR implementing UseDefable using the provided CFGrapher. This may take a while since the analysis is done at this time.


ReachingDefsImpl

public ReachingDefsImpl(HCode hc,
                        CFGrapher cfger,
                        UseDefer ud)
Creates a ReachingDefsImpl object for the provided HCode using the provided CFGrapher and UseDefer. This may take a while since the analysis is done at this time.


ReachingDefsImpl

public ReachingDefsImpl(HCode hc)
Creates a ReachingDefsImpl object for the provided HCode using CFGrapher.DEFAULT. This may take a while since the analysis is done at this time.

Method Detail

reachingDefs

public Set reachingDefs(HCodeElement hce,
                        Temp t)
Returns the Set of HCodeElements providing definitions of Temp t which reach HCodeElement hce. Returns the empty Set if the given HCodeElement is unreachable.

Specified by:
reachingDefs in class ReachingDefs