harpoon.Analysis
Class ReachingDefsAltImpl<HCE extends HCodeElement>

java.lang.Object
  extended by harpoon.Analysis.ReachingDefs<HCE>
      extended by harpoon.Analysis.ReachingDefsAltImpl<HCE>
Direct Known Subclasses:
ReachingDefsCachingImpl

public class ReachingDefsAltImpl<HCE extends HCodeElement>
extends ReachingDefs<HCE>

ReachingDefsAltImpl

Version:
$Id: ReachingDefsAltImpl.java,v 1.7 2004/07/01 22:24:31 cananian Exp $
Author:
Felix S. Klock II <pnkfelix@mit.edu>

Field Summary
protected  BasicBlock.Factory<HCE> bbf
           
protected  harpoon.Analysis.ReachingDefsAltImpl.AugSetFactory bsf
           
protected  Map<BasicBlock<HCE>,harpoon.Analysis.ReachingDefsAltImpl.Record> cache
           
protected  boolean check_typecast
           
protected  Map<Temp,Set<Map.Entry<Temp,HCE>>> tempToAllDefs
           
protected  UseDefer<HCE> ud
           
 
Fields inherited from class harpoon.Analysis.ReachingDefs
hc, TIME
 
Constructor Summary
ReachingDefsAltImpl(HCode<HCE> hc)
          Creates a ReachingDefsImpl object for the provided HCode using CFGrapher.DEFAULT and UseDefer.DEFAULT.
ReachingDefsAltImpl(HCode<HCE> hc, CFGrapher<HCE> cfger)
          Creates a ReachingDefsImpl object for the provided HCode for an IR implementing UseDefable using the provided CFGrapher.
ReachingDefsAltImpl(HCode<HCE> hc, CFGrapher<HCE> cfger, UseDefer<HCE> ud)
          Creates a ReachingDefsImpl object for the provided HCode using the provided CFGrapher and UseDefer.
 
Method Summary
 Set<HCE> reachingDefs(HCE 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<HCE extends HCodeElement> bbf

bsf

protected final harpoon.Analysis.ReachingDefsAltImpl.AugSetFactory bsf

tempToAllDefs

protected final Map<Temp,Set<Map.Entry<Temp,HCE extends HCodeElement>>> tempToAllDefs

cache

protected final Map<BasicBlock<HCE extends HCodeElement>,harpoon.Analysis.ReachingDefsAltImpl.Record> cache

check_typecast

protected final boolean check_typecast

ud

protected final UseDefer<HCE extends HCodeElement> ud
Constructor Detail

ReachingDefsAltImpl

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


ReachingDefsAltImpl

public ReachingDefsAltImpl(HCode<HCE> hc,
                           CFGrapher<HCE> 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.


ReachingDefsAltImpl

public ReachingDefsAltImpl(HCode<HCE> hc,
                           CFGrapher<HCE> cfger,
                           UseDefer<HCE> 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.

Method Detail

reachingDefs

public Set<HCE> reachingDefs(HCE hce,
                             Temp t)
Returns the Set of HCodeElements providing definitions of Temp t which reach HCodeElement hce. Any use that is not explicitly defined is assumed to be implicitly defined by the root element of the HCode for this.

Specified by:
reachingDefs in class ReachingDefs<HCE extends HCodeElement>