| Package | Description |
|---|---|
| cetus.analysis | |
| cetus.hir |
| Modifier and Type | Method and Description |
|---|---|
RangeDomain |
RangeDomain.clone()
Returns a clone of the range domain.
|
static RangeDomain |
RangeAnalysis.extractRanges(Expression e) |
static RangeDomain |
RangeAnalysis.getRangeDomain(Statement stmt)
Returns a range domain for the given statement.
|
static RangeDomain |
RangeAnalysis.query(Statement stmt)
Returns a range domain associated with the specified statement.
|
RangeDomain |
RangeDomain.substituteForwardRange(RangeDomain rd)
Performs
substituteForwardRange(Expression) on the value ranges
within the given range domain. |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<Statement,RangeDomain> |
RangeAnalysis.getRangeMap(Procedure proc)
Performs range analysis for the procedure and returns the result.
|
static java.util.Map<Statement,RangeDomain> |
RangeAnalysis.getRanges(SymbolTable symtab)
Returns a range map created for the symbol table object.
|
static java.util.Map<Statement,RangeDomain> |
RangeAnalysis.getRanges(SymbolTable symtab,
int temporal_option)
Enforces use of the specified option for computing the ranges
|
| Modifier and Type | Method and Description |
|---|---|
static Relation |
RangeDomain.compare(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Compares two expressions symbolically with the given range domain
|
Section |
Section.ELEMENT.differenceFrom(Section.ELEMENT other,
RangeDomain rd)
Performs difference operation between two section elements with the
specified range domain.
|
Section.MAP |
Section.MAP.differenceFrom(Section.MAP other,
RangeDomain rd)
Performs difference operation between the two section maps with the
specified range domain.
|
Section |
Section.differenceFrom(Section other,
RangeDomain rd)
Performs difference operation between two sections with the specified
range domain.
|
Section.MAP |
Section.MAP.differenceFrom2(Section.MAP other,
RangeDomain rd)
Performs conditional difference operation after adding unresolved
bound relation from the current section map.
|
boolean |
RangeDomain.equals(RangeDomain other) |
void |
Section.expandMay(RangeDomain rd,
java.util.Set<Symbol> vars)
Expand every section under the constraints given by the range domain.
|
void |
Section.expandMust(RangeDomain rd,
java.util.Set<Symbol> ivs,
java.util.Set<Symbol> vars)
Expand every section under the constraints given by the range domain.
|
static Expression |
RangeDomain.intersectRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the intersection of the two expressions with the given range
domains.
|
void |
RangeDomain.intersectRanges(RangeDomain other)
Intersects two sets of value ranges using current range domain.
|
Section.ELEMENT |
Section.ELEMENT.intersectWith(Section.ELEMENT other,
RangeDomain rd)
Performs intersection operation between two section elements with the
specified range domain.
|
Section.MAP |
Section.MAP.intersectWith(Section.MAP other,
RangeDomain rd)
Performs intersection operation between the two section maps with the
specified range domain.
|
Section |
Section.intersectWith(Section other,
RangeDomain rd)
Performs intersection operation between two sections with the specified
range domain.
|
void |
RangeDomain.narrowRanges(RangeDomain other)
Narrows all value ranges of "other" range domain with this range domain.
|
static Expression |
LoopTools.replaceSymbolicLowerBound(Loop loop,
RangeDomain loop_rd)
Replaces symbolic values in loop lower bound with information obtained
from range analysis.
|
static Expression |
LoopTools.replaceSymbolicUpperBound(Loop loop,
RangeDomain loop_rd)
Replaces symbolic values in loop upper bound with information obtained
from range analysis.
|
void |
Section.substituteForward(RangeDomain rd,
java.util.Set<Symbol> avoid)
Substitutes any variables having symbolic constant values in the section
avoiding cases that produces expression having a variable in the
"avoid" set.
|
RangeDomain |
RangeDomain.substituteForwardRange(RangeDomain rd)
Performs
substituteForwardRange(Expression) on the value ranges
within the given range domain. |
static Expression |
RangeDomain.unionRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the union of the two expressions with the given range domains.
|
void |
RangeDomain.unionRanges(RangeDomain other)
Merges two sets of value ranges using current range domain (union
operation).
|
Section.ELEMENT |
Section.ELEMENT.unionWith(Section.ELEMENT other,
RangeDomain rd)
Performs union operation between two section elements with the
specified range domain.
|
Section.MAP |
Section.MAP.unionWith(Section.MAP other,
RangeDomain rd)
Performs union operation between the two section maps with the
specified range domain.
|
Section |
Section.unionWith(Section other,
RangeDomain rd)
Performs union operation between two sections with the specified range
domain.
|
void |
RangeDomain.widenAffectedRanges(RangeDomain other,
java.util.Set<Symbol> vars)
Widens subset of value ranges in "other" that contains the specified
symbols either in keys or in value ranges.
|
void |
RangeDomain.widenRanges(RangeDomain other)
Widens all value ranges of "other" range domain with this range domain.
|
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String |
RangeAnalysis.toPrettyRanges(Traversable t,
java.util.Map<Statement,RangeDomain> ranges,
java.lang.Integer indent)
Returns the range map in a pretty format.
|
| Constructor and Description |
|---|
RangeDomain(RangeDomain other)
Constructs a new range domain with the given range domain
other. |
| Modifier and Type | Method and Description |
|---|---|
static Section.MAP |
Tools.getDefSectionMap(Expression e,
RangeDomain rd,
java.util.Set<Symbol> def_vars)
Deprecated.
|
static Section.MAP |
DataFlowTools.getDefSectionMap(Expression e,
RangeDomain rd,
java.util.Set<Symbol> def_vars)
Returns a map from a variable to its section
|
static Section.MAP |
Tools.getDefSectionMap(Traversable t,
java.util.Map range_map,
RangeDomain unioned_rd,
java.util.Set<Symbol> def_vars)
Deprecated.
|
static Section.MAP |
DataFlowTools.getDefSectionMap(Traversable t,
java.util.Map range_map,
RangeDomain unioned_rd,
java.util.Set<Symbol> def_vars)
Returns a set of defined Section expressions in the traversable object.
|
static Section.MAP |
Tools.getUseSectionMap(Expression e,
RangeDomain rd,
java.util.Set<Symbol> def_vars)
Deprecated.
|
static Section.MAP |
DataFlowTools.getUseSectionMap(Expression e,
RangeDomain rd,
java.util.Set<Symbol> def_vars)
Returns a map from a variable to its section
|