harpoon.Analysis.Companions
Class SingularFinder

java.lang.Object
  extended by harpoon.Analysis.Companions.SingularFinder
All Implemented Interfaces:
SingularOracle<Quad>

public class SingularFinder
extends Object
implements SingularOracle<Quad>

SingularFinder is an implementation of SingularOracle for quad IRs.

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

Constructor Summary
SingularFinder(HCodeFactory hcf)
          Creates a SingularFinder.
 
Method Summary
 Set<Temp> conditionallySingular(HMethod m, StaticValue<Quad> sv)
          Returns a set of parameters the given static value is conditionally singular dependent on, or null if there is no such set (the static value is not singular).
 Set<Temp> mutuallySingular(HMethod m, Collection<StaticValue<Quad>> svs)
          Returns a set of parameters the given static values are conditionally singular dependent on, or null if there is no such set (the values are not mutually singular).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SingularFinder

public SingularFinder(HCodeFactory hcf)
Creates a SingularFinder.

Method Detail

conditionallySingular

public Set<Temp> conditionallySingular(HMethod m,
                                       StaticValue<Quad> sv)
Description copied from interface: SingularOracle
Returns a set of parameters the given static value is conditionally singular dependent on, or null if there is no such set (the static value is not singular).

Specified by:
conditionallySingular in interface SingularOracle<Quad>

mutuallySingular

public Set<Temp> mutuallySingular(HMethod m,
                                  Collection<StaticValue<Quad>> svs)
Description copied from interface: SingularOracle
Returns a set of parameters the given static values are conditionally singular dependent on, or null if there is no such set (the values are not mutually singular).

Specified by:
mutuallySingular in interface SingularOracle<Quad>