| Package | Description |
|---|---|
| cetus.analysis | |
| cetus.application | |
| cetus.base.grammars | |
| cetus.hir |
| Modifier and Type | Method and Description |
|---|---|
static Expression |
NormalExpression.add(Expression e1,
Expression e2)
Deprecated.
Returns addition of the two expressions with simplification.
|
static Expression |
NormalExpression.and(Expression e1,
Expression e2)
Deprecated.
Returns a binary expression e1&&e2 with simplification.
|
static Expression |
NormalExpression.binary(Expression e1,
java.lang.String op,
Expression e2)
Deprecated.
|
static Expression |
NormalExpression.divide(Expression e1,
Expression e2)
Deprecated.
Returns division of two expressions with simplification.
|
static Expression |
NormalExpression.eq(Expression e1,
Expression e2)
Deprecated.
Returns an equality expression e1==e2 with simplification.
|
Expression |
RangeDomain.expandSymbol(Expression e,
Symbol var)
Eliminates all occurrences of the specified variable from the expression
by replacing them with their value ranges.
|
Expression |
RangeDomain.expandSymbols(Expression e,
java.util.Set<Symbol> vars)
Eliminates all occurrences of the specified variables from the expression
by replacing them with their value ranges.
|
Expression |
DDArrayAccessInfo.getArrayAccessName() |
static Expression |
NormalExpression.getClosedFormSum(Expression lb,
Expression ub,
Expression e,
Identifier id)
Deprecated.
Returns the closed form of the given summation parameters,
sum(e) s.t.
|
static Expression |
NormalExpression.getCoefficient(Expression e,
Identifier id)
Deprecated.
Returns the symbolic coefficient of the given identifier in the
expression.
|
Expression |
ArrayParameterAnalysis.getCompatibleArgument(FunctionCall fcall,
Symbol param)
Returns caller's expression that is equivalent to the given parameter.
|
static Expression |
NormalExpression.getConstantCoefficient(Expression e,
java.util.List<Identifier> id_list)
Deprecated.
Returns the constant term with respect to the given set of variables.
|
static Expression |
LoopTools.getIncrementExpression(Loop loop)
Get the expression that represents the actual increment value for the
loop.
|
static Expression |
LoopTools.getIndexVariable(Loop loop)
Get loop index variable, if loop is canonical
|
Expression |
LoopInfo.getLoopIncrement() |
Expression |
LoopInfo.getLoopIndex() |
Expression |
LoopInfo.getLoopLB() |
Expression |
LoopInfo.getLoopUB() |
static Expression |
LoopTools.getLowerBoundExpression(Loop loop)
Returns a simplified lower bound expression for the loop
|
Expression |
RangeDomain.getRange(Symbol var)
Returns the value range for the specified variable.
|
static Expression |
LoopTools.getUpperBoundExpression(Loop loop)
Returns a simplified upper bound expression for the loop
|
static Expression |
RangeDomain.intersectRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the intersection of the two expressions with the given range
domains.
|
static Expression |
NormalExpression.multiply(Expression e1,
Expression e2)
Deprecated.
Returns multiplication of two expressions with simplification.
|
static Expression |
NormalExpression.negate(Expression e)
Deprecated.
Returns a logically negated expression of the given expression.
|
static Expression |
NormalExpression.or(Expression e1,
Expression e2)
Deprecated.
Returns a binary expression e1||e2 with simplification.
|
Expression |
CallSite.parameterToArgument(Symbol param)
Converts the given parameter to the corresponding argument.
|
static Expression |
NormalExpression.power(Expression e,
int p)
Deprecated.
Returns the given expression's p-th power.
|
Expression |
RangeDomain.replaceSymbol(Expression e,
Symbol var,
Expression with)
Replace all occurrences of the specified variable in the given expression
with the new expression.
|
static Expression |
LoopTools.replaceSymbolicLowerBound(Loop loop)
Replaces symbolic values in loop lower bound with information obtained
from range analysis.
|
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)
Replaces symbolic values in loop upper 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.
|
static Expression |
NormalExpression.simplify(Expression e)
Deprecated.
Returns a normalized(simplified) expression of an
Expression. |
static Expression |
NormalExpression.simplify(Expression e,
java.lang.String opt)
Deprecated.
Returns a normalized expression of an
Expression after applying
a specific option. |
Expression |
RangeDomain.substituteForward(Expression e)
Substitute all occurrences of the symbols that appear in the expression.
|
Expression |
RangeDomain.substituteForward(Expression e,
java.util.Set<Symbol> vars)
Substitute all occrrences of the given set of symbols in the expression.
|
Expression |
RangeDomain.substituteForward(Expression e,
Symbol var)
Substitute all occurrences of the given symbol in the expression with its
symbolic values.
|
Expression |
RangeDomain.substituteForwardRange(Expression e)
Replaces variables within the given expression with their value ranges
from the existing range domain.
|
static Expression |
NormalExpression.subtract(Expression e1,
Expression e2)
Deprecated.
Returns subtraction of two expressions with simplification.
|
Expression |
RangeDomain.toExpression()
Converts this range domain to an equivalent logical expression.
|
static Expression |
RangeDomain.unionRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the union of the two expressions with the given range domains.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,java.util.Set<Expression>> |
Reduction.analyzeStatement(Statement istmt) |
java.util.Map<java.lang.String,java.util.Set<Expression>> |
Reduction.analyzeStatement2(Statement istmt)
Reduction recognition on OpenMP critical sections including ForLoop,
CompoundStatement, and a Statement.
|
static java.util.Set<Expression> |
LoopTools.collectScalarDependences(Loop l)
Returns symbols that may cause data dependences with the specified loop.
|
static java.util.Set<Expression> |
DataFlow.defines(Traversable root)
Deprecated.
|
static java.util.TreeMap<Expression,Expression> |
DataFlow.defSet(Traversable root)
Deprecated.
Determines the set of definitions in the IR subtree starting
at the specified root.
|
static java.util.TreeMap<Expression,Expression> |
DataFlow.defSet(Traversable root)
Deprecated.
Determines the set of definitions in the IR subtree starting
at the specified root.
|
java.util.List<Expression> |
CallSite.getArguments()
Returns the list of the call site's arguments.
|
static java.util.List<Expression> |
NormalExpression.getCoefficient(Expression e,
java.util.List<Identifier> id_list)
Deprecated.
Returns the list of coefficient with respect to the given set of
identifiers.
|
java.util.List<Expression> |
CallSite.getIDArguments()
Returns a list of arguments with Identifier type.
|
java.util.List<Expression> |
CallSite.getNormArguments()
Returns the list of normalized identifier arguments.
|
static java.util.List<Expression> |
NormalExpression.getPolynomialCoef(Expression e,
Identifier id)
Deprecated.
Returns a list of expressions which contains coefficients of n-th terms
when the given id is the basis.
|
static java.util.Set<Expression> |
DataFlow.getUseSet(Traversable root)
Deprecated.
Determines the set of uses in the IR subtree starting
at the specified root.
|
static java.util.TreeSet<Expression> |
DataFlow.mayDefine(Traversable root)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
static Expression |
NormalExpression.add(Expression e1,
Expression e2)
Deprecated.
Returns addition of the two expressions with simplification.
|
static Expression |
NormalExpression.and(Expression e1,
Expression e2)
Deprecated.
Returns a binary expression e1&&e2 with simplification.
|
Symbol |
CallSite.argumentToParameter(Expression arg)
Converts the given argument to the corresponding parameter.
|
static Expression |
NormalExpression.binary(Expression e1,
java.lang.String op,
Expression e2)
Deprecated.
|
boolean |
DDGraph.checkAntiDependence(Expression e1,
Expression e2)
Check if there is anti dependence from e1 to e2
|
boolean |
DDGraph.checkFlowDependence(Expression e1,
Expression e2)
Check if there is flow dependence from e1 to e2
|
boolean |
DDGraph.checkOutputDependence(Expression e1,
Expression e2)
Check if there is an output dependence from e1 to e2
|
Relation |
RangeDomain.compare(Expression e1,
Expression e2)
Returns the relation between the two expressions under the constraints
implied by the set of value ranges in the RangeDomain object.
|
static int |
NormalExpression.compare(Expression e1,
Expression e2)
Deprecated.
Compares the two expressions based on their normal forms.
|
static Relation |
RangeDomain.compare(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Compares two expressions symbolically with the given range domain
|
static Expression |
NormalExpression.divide(Expression e1,
Expression e2)
Deprecated.
Returns division of two expressions with simplification.
|
boolean |
RangeDomain.encloses(Expression e1,
Expression e2) |
static Expression |
NormalExpression.eq(Expression e1,
Expression e2)
Deprecated.
Returns an equality expression e1==e2 with simplification.
|
int |
RangeDomain.evaluateLogic(Expression e)
Evaluates the given logical expression using the constraints.
|
Expression |
RangeDomain.expandSymbol(Expression e,
Symbol var)
Eliminates all occurrences of the specified variable from the expression
by replacing them with their value ranges.
|
Expression |
RangeDomain.expandSymbols(Expression e,
java.util.Set<Symbol> vars)
Eliminates all occurrences of the specified variables from the expression
by replacing them with their value ranges.
|
static RangeDomain |
RangeAnalysis.extractRanges(Expression e) |
static Expression |
NormalExpression.getClosedFormSum(Expression lb,
Expression ub,
Expression e,
Identifier id)
Deprecated.
Returns the closed form of the given summation parameters,
sum(e) s.t.
|
static Expression |
NormalExpression.getCoefficient(Expression e,
Identifier id)
Deprecated.
Returns the symbolic coefficient of the given identifier in the
expression.
|
static java.util.List<Expression> |
NormalExpression.getCoefficient(Expression e,
java.util.List<Identifier> id_list)
Deprecated.
Returns the list of coefficient with respect to the given set of
identifiers.
|
static long |
NormalExpression.getConstantCoefficient(Expression e)
Deprecated.
Returns the constant term in the simplified expression.
|
static Expression |
NormalExpression.getConstantCoefficient(Expression e,
java.util.List<Identifier> id_list)
Deprecated.
Returns the constant term with respect to the given set of variables.
|
java.util.ArrayList<DDGraph.Arc> |
DDGraph.getDependences(Expression expr1,
Expression expr2)
Obtain all possible dependence information between a pair of array
accesses in a given loop
|
static IPPointsToAnalysis.AbstractLocation |
IPPointsToAnalysis.AbstractLocation.getLocation(Expression e)
Returns an abstract locations represented by the given expression
e. |
static IPPointsToAnalysis.AbstractLocation |
IPPointsToAnalysis.AbstractLocation.getLocation(Expression e,
Statement s)
Returns an abstract locations represented by the given expression
e and the statement s. |
static java.util.List<Expression> |
NormalExpression.getPolynomialCoef(Expression e,
Identifier id)
Deprecated.
Returns a list of expressions which contains coefficients of n-th terms
when the given id is the basis.
|
static java.util.List<Identifier> |
NormalExpression.getVariableList(Expression e)
Deprecated.
Returns the list of variables if the given expression is affine.
|
static Expression |
RangeDomain.intersectRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the intersection of the two expressions with the given range
domains.
|
static boolean |
NormalExpression.isAffine(Expression e,
java.util.List<Identifier> id_list)
Deprecated.
Checks if the given expression is an affine expression with respect to the
given set of identifiers.
|
boolean |
RangeDomain.isEmptyRange(Expression e) |
boolean |
RangeDomain.isEQ(Expression e1,
Expression e2) |
boolean |
RangeDomain.isGE(Expression e1,
Expression e2) |
boolean |
RangeDomain.isGT(Expression e1,
Expression e2) |
boolean |
RangeDomain.isLE(Expression e1,
Expression e2) |
static boolean |
LoopTools.isLoopInvariant(Loop loop,
Expression e)
Check if the given expression is loop invariant
|
boolean |
RangeDomain.isLT(Expression e1,
Expression e2) |
static Expression |
NormalExpression.multiply(Expression e1,
Expression e2)
Deprecated.
Returns multiplication of two expressions with simplification.
|
static Expression |
NormalExpression.negate(Expression e)
Deprecated.
Returns a logically negated expression of the given expression.
|
static Expression |
NormalExpression.or(Expression e1,
Expression e2)
Deprecated.
Returns a binary expression e1||e2 with simplification.
|
static Expression |
NormalExpression.power(Expression e,
int p)
Deprecated.
Returns the given expression's p-th power.
|
Expression |
RangeDomain.replaceSymbol(Expression e,
Symbol var,
Expression with)
Replace all occurrences of the specified variable in the given expression
with the new expression.
|
void |
RangeDomain.replaceSymbol(Symbol var,
Expression with)
Replaces all occurrences of the specified variable in the map with the
given expression.
|
void |
LoopInfo.setLoopIncrement(Expression inc) |
void |
LoopInfo.setLoopLB(Expression lb) |
void |
LoopInfo.setLoopUB(Expression ub) |
void |
RangeDomain.setRange(Symbol var,
Expression value)
Updates the value range for the specified variable.
|
static Expression |
NormalExpression.simplify(Expression e)
Deprecated.
Returns a normalized(simplified) expression of an
Expression. |
static Expression |
NormalExpression.simplify(Expression e,
java.lang.String opt)
Deprecated.
Returns a normalized expression of an
Expression after applying
a specific option. |
Expression |
RangeDomain.substituteForward(Expression e)
Substitute all occurrences of the symbols that appear in the expression.
|
Expression |
RangeDomain.substituteForward(Expression e,
java.util.Set<Symbol> vars)
Substitute all occrrences of the given set of symbols in the expression.
|
Expression |
RangeDomain.substituteForward(Expression e,
Symbol var)
Substitute all occurrences of the given symbol in the expression with its
symbolic values.
|
Expression |
RangeDomain.substituteForwardRange(Expression e)
Replaces variables within the given expression with their value ranges
from the existing range domain.
|
static Expression |
NormalExpression.subtract(Expression e1,
Expression e2)
Deprecated.
Returns subtraction of two expressions with simplification.
|
static Expression |
RangeDomain.unionRanges(Expression e1,
RangeDomain rd1,
Expression e2,
RangeDomain rd2)
Computes the union of the two expressions with the given range domains.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
DataFlow.partitionScalarsAndArrays(java.util.Set<Expression> scalar_set,
java.util.Set<ArrayAccess> array_set,
java.util.Set<Expression> initial_set)
Deprecated.
|
static void |
DataFlow.partitionScalarsAndArrays(java.util.Set<Expression> scalar_set,
java.util.Set<ArrayAccess> array_set,
java.util.Set<Expression> initial_set)
Deprecated.
|
void |
Reduction.print_reduction(java.util.Map<java.lang.String,java.util.Set<Expression>> map) |
| Constructor and Description |
|---|
SubscriptPair(Expression s1,
Expression s2,
Statement st1,
Statement st2,
java.util.LinkedList<Loop> nest,
java.util.HashMap<Loop,LoopInfo> loopinfo)
Constructs a new subscript pair with the given pairs of expressions,
statements, and the loop nest information.
|
| Modifier and Type | Method and Description |
|---|---|
Expression |
AnalysisTarget.getExpression() |
static Expression |
ChainTools.getIDVariableOnlyInStruct(Expression currentEx) |
static Expression |
ChainTools.getIDVariablePlusMemberInStruct(Expression currentEx) |
static Expression |
ChainTools.getMemberOnlyInStruct(Expression currentEx) |
| Modifier and Type | Method and Description |
|---|---|
static java.util.List<Expression> |
ChainTools.getDefListInDec(VariableDeclarator declarator) |
static java.util.List<Expression> |
ChainTools.getDefListInNestedDec(NestedDeclarator declarator) |
static java.util.List<Expression> |
ChainTools.getPlainDefList(Traversable tr,
Procedure proc)
This returns the definition list in the plain assignment statement;
|
static java.util.List<Expression> |
ChainTools.getRefIDExpressionListInConditionalExpressionArg(ConditionalExpression conEx,
Procedure proc) |
static java.util.List<Expression> |
ChainTools.getSideEffectParamList(java.util.List<Expression> paramList,
int[] sideEffectIdx) |
static java.util.List<Expression> |
ChainTools.getUseList(Traversable traversable) |
static java.util.List<Expression> |
ChainTools.getUseListInDec(VariableDeclarator declarator) |
static java.util.List<Expression> |
ChainTools.getUseListInNestedDec(NestedDeclarator declarator) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Set<DFANode> |
UseDefChain.getDefDFANodeSet(Expression use)
Returns interprocedural definition list as list of DFANode in the control flow graph
|
java.util.Set<DFANode> |
IPChainAnalysis.getDefDFANodeSet(Expression use) |
java.util.List<Traversable> |
UseDefChain.getDefList(Expression use)
Returns interprocedural definition list.
|
java.util.List<Traversable> |
IPChainAnalysis.getDefList(Expression use) |
static IDExpression |
ChainTools.getIDExpression(Expression ex) |
static Expression |
ChainTools.getIDVariableOnlyInStruct(Expression currentEx) |
static Expression |
ChainTools.getIDVariablePlusMemberInStruct(Expression currentEx) |
java.util.List<Traversable> |
UseDefChain.getLocalDefList(Expression use)
Returns intraprocedural defintion list
|
java.util.List<Traversable> |
IPChainAnalysis.getLocalDefList(Expression use) |
java.util.List<Traversable> |
IPChainAnalysis.getLocalUseList(Expression def) |
java.util.List<Traversable> |
DefUseChain.getLocalUseList(Expression def)
Returns intraprocedural use list.
|
static Expression |
ChainTools.getMemberOnlyInStruct(Expression currentEx) |
static IDExpression |
ChainTools.getRefIDExpression(Expression ex,
Procedure proc)
Extract the variable ID from the input expression.
|
java.util.List<Traversable> |
IPChainAnalysis.getUseList(Expression def) |
java.util.List<Traversable> |
DefUseChain.getUseList(Expression def)
Returns interprocedural use list.
|
static boolean |
ChainTools.hasSameArrayAccessInStruct(Expression def,
Expression use,
Procedure proc) |
static boolean |
ChainTools.hasSameArrayIdentifier(Expression ex1,
Expression ex2) |
static boolean |
ChainTools.hasSameStructureVariableIdentifier(Expression def,
Expression use,
Procedure proc) |
static boolean |
ChainTools.hasSameToString(Expression ex1,
Expression ex2) |
static boolean |
ChainTools.isArrayAccess(Expression expression) |
static boolean |
ChainTools.isArrayAccessInStruct(Expression expression,
Procedure proc) |
static boolean |
ChainTools.isArrayAccessWithConstantIndex(Expression expression) |
static boolean |
ChainTools.isArrayAccessWithNoIndex(Expression expression) |
static boolean |
ChainTools.isArrayAccessWithPartiallyConstantIndex(Expression expression) |
static boolean |
ChainTools.isArrayAccessWithVariableIndex(Expression expression) |
static boolean |
ChainTools.isDefInItself(DFANode defNode,
Expression defEx,
Expression useEx) |
static boolean |
ChainTools.isGlobal(Expression expression) |
static boolean |
ChainTools.isNestedDefInItself(DFANode defNode,
Expression defEx,
Expression useEx) |
static boolean |
ChainTools.isPointerAccess(Expression expression) |
boolean |
IPChainAnalysis.isReachable(Expression def,
Expression use) |
boolean |
DefUseChain.isReachable(Expression def,
Expression use)
Returns if the given definition reaches the given use interprocedurally
|
static boolean |
ChainTools.isStructureAccess(Expression expression,
Procedure proc) |
static boolean |
ChainTools.isStructureAccessInDec(Expression expression,
Procedure proc) |
static boolean |
ChainTools.isStructureAccessInParam(Expression expression,
Procedure proc) |
static boolean |
ChainTools.matchArrayAccessForKill(Expression defMapEntryExp,
Expression currentEx) |
static boolean |
ChainTools.matchExpressionForKill(Expression defMapEntry,
Expression currentEx) |
static boolean |
ChainTools.matchIdInExpression(Expression ex1,
Expression ex2) |
static boolean |
ChainTools.matchPointerExForKill(Expression defMapEntry,
Expression currentEx) |
static boolean |
ChainTools.matchRefIdInExpression(Expression ex1,
Expression ex2,
Procedure proc) |
static void |
ChainTools.setGenBit(DFANode cfgNode,
AnalysisTarget[] defMapEntry,
Expression currentEx) |
static void |
ChainTools.setKillBit(DFANode cfgNode,
AnalysisTarget[] defMapEntry,
Expression currentEx,
Procedure proc) |
static void |
ChainTools.setKillBitForAlias(DFANode cfgNode,
AnalysisTarget[] defMapEntry,
Expression currentEx,
Statement currentStmt,
Procedure proc) |
| Modifier and Type | Method and Description |
|---|---|
void |
ProgramSlicer.addSlicingCriteria(DFANode dfaNode,
java.util.List<Expression> exprList,
Procedure proc)
Add program slice criteria
Traversable in the DFANode is only added to the slice criteria
|
static java.util.List<Expression> |
ChainTools.getSideEffectParamList(java.util.List<Expression> paramList,
int[] sideEffectIdx) |
| Constructor and Description |
|---|
AnalysisTarget(Expression expression,
DFANode cfgNode,
Procedure proc) |
| Modifier and Type | Method and Description |
|---|---|
Expression |
NewCParser.additiveExpr() |
Expression |
NewCParser.assignExpr() |
Expression |
NewCParser.bitAndExpr() |
Expression |
NewCParser.castExpr() |
Expression |
NewCParser.conditionalExpr() |
Expression |
NewCParser.constExpr() |
Expression |
NewCParser.equalityExpr() |
Expression |
NewCParser.exclusiveOrExpr() |
Expression |
NewCParser.expr() |
Expression |
NewCParser.gnuAsmExpr() |
Expression |
NewCParser.inclusiveOrExpr() |
Expression |
NewCParser.logicalAndExpr() |
Expression |
NewCParser.logicalOrExpr() |
Expression |
NewCParser.multExpr() |
Expression |
NewCParser.postfixExpr() |
Expression |
NewCParser.postfixSuffix(Expression expr1) |
Expression |
NewCParser.primaryExpr() |
Expression |
NewCParser.rangeExpr() |
Expression |
NewCParser.relationalExpr() |
Expression |
NewCParser.shiftExpr() |
Expression |
NewCParser.unaryExpr() |
| Modifier and Type | Method and Description |
|---|---|
Expression |
NewCParser.postfixSuffix(Expression expr1) |
| Modifier and Type | Class and Description |
|---|---|
class |
AccessExpression
AccessExpression is a representation for expressions that access
a member of class-like objects.
|
class |
AlignofExpression
AlignofExpression represents the non-standard __alignof__ operation.
|
class |
ArrayAccess
Represents the access of an array or pointer variable: array[x][y]...
|
class |
AssignmentExpression
AssignmentExpression represents an assignment expression having a
LHS expression, assignment operator, and a RHS expression.
|
class |
BinaryExpression
BinaryExpression represents an expression having a LHS operand, an
operator, and a RHS operand.
|
class |
BooleanLiteral
Represents a boolean literal (true or false).
|
class |
CharLiteral
Represents a character literal in the program.
|
class |
CommaExpression
Represents expressions separated by the comma operator in C or C++.
|
class |
CompoundLiteral |
class |
ConditionalExpression
Represents the only ternary expression in C and C++, the ?: operator.
|
class |
DeleteExpression
This class is not supported.
|
class |
DestructorID
Represents the name of a C++ destructor.
|
class |
EscapeLiteral
Represents a escape character.
|
class |
FloatLiteral
Represents a float-type literal in the program.
|
class |
FunctionCall
Represents a function or method call.
|
class |
Identifier
Identifier represents a valid C identifier which has a matching
variable declarator.
|
class |
IDExpression
IDExpression represents an IR object that appears as an identifier in
the program.
|
class |
InfExpression
InfExpression represents a literal expression having a value greater
than or less than any possible numbers.
|
class |
IntegerLiteral
Represents an integer literal in the program.
|
class |
Literal
Represents an immediate value within the program.
|
class |
MinMaxExpression
Class for MIN() MAX() expressions - these are equivalent to conditional
expressions.
|
class |
NameID
NameID is introduced to separate the uses of
Identifier for
better IR consistency. |
class |
NewExpression
This class is no longer supported.
|
class |
OffsetofExpression
Represents a __builtin_offsetof() operator.
|
class |
OperatorID
C++ overloaded operator IDs.
|
class |
QualifiedID
This class is no longer supported
|
class |
RangeExpression
RangeExpression represents a symbolic range with a lower bound
expression and an upper bound expression.
|
class |
SizeofExpression
Represents a sizeof operation in C programs.
|
class |
SomeExpression
Represents a container that holds a raw code not expressed as a well-defined
internal representation.
|
class |
StatementExpression
Represents an expression containing a compound statement - GCC extension.
|
class |
StringLiteral
Represents a string literal in the program.
|
class |
TemplateID
This class is no longer supported
|
class |
ThrowExpression
This class is no longer supported
|
class |
Typecast
Represents a typecast expression in C programs.
|
class |
UnaryExpression
Represents an expression having a unary operator and an operand expression.
|
class |
VaArgExpression
Represents __builtin_va_arg() operation in C programs.
|
| Modifier and Type | Method and Description |
|---|---|
static <T extends Expression> |
Tools.getExpressionOfType(Traversable t,
java.lang.Class<T> type)
Deprecated.
|
static <T extends Expression> |
IRTools.getExpressionsOfType(Traversable t,
java.lang.Class<T> type)
Returns a list of expressions having the specified type in the given
traversable object.
|
| Modifier and Type | Method and Description |
|---|---|
static Expression |
Symbolic.add(Expression e1,
Expression e2)
Returns addition of the two expressions with simplification.
|
static Expression |
Symbolic.addAll(java.util.List<Expression> exprs)
Returns an expression that adds all expressions in the given expression
list.
|
static Expression |
Symbolic.and(Expression e1,
Expression e2)
Returns and of two expressions with simplification.
|
Expression |
Expression.clone()
Creates and returns a deep copy of this expression.
|
static Expression |
Symbolic.decrement(Expression e)
Returns the given expression decremented by one.
|
static Expression |
Symbolic.divide(Expression e1,
Expression e2)
Returns division of two expressions with simplification.
|
static Expression |
Symbolic.eq(Expression e1,
Expression e2)
Returns comparison(==) of two expressions with simplification.
|
static Expression |
Tools.findExpression(Traversable t,
Expression e)
Deprecated.
|
static Expression |
IRTools.findExpression(Traversable t,
Expression e)
Finds the first instance of the Expression
e in the IR tree
t. |
static Expression |
Symbolic.ge(Expression e1,
Expression e2)
Returns comparison(greater equal) of two expressions with simplification.
|
Expression |
FunctionCall.getArgument(int n)
Returns the specified argument
|
Expression |
ArrayAccess.getArrayName()
Returns the expression being indexed.
|
static Expression |
Symbolic.getClosedFormSum(Identifier id,
Expression lb,
Expression ub,
Expression e)
Returns the closed form of the given summation parameters,
sum(e) s.t.
|
static Expression |
Symbolic.getClosedFormSum(Identifier id,
Expression lb,
Expression ub,
Expression e,
java.lang.Boolean divisible)
Computes and returns the closed form expression of the given expression,
index, and bounds with the divisibility property of the given expression.
|
static Expression |
Symbolic.getCoefficient(Expression e,
Identifier id)
Returns the symbolic coefficient of the given identifier in the
expression.
|
Expression |
WhileLoop.getCondition() |
Expression |
Loop.getCondition()
Returns the expression that determines the duration of the loop.
|
Expression |
ForLoop.getCondition() |
Expression |
DoLoop.getCondition() |
Expression |
ConditionalExpression.getCondition()
Returns the condition expression.
|
static Expression |
Symbolic.getConstantCoefficient(Expression e,
java.util.List<Identifier> ids)
Returns the constant term with respect to the given set of variables.
|
Expression |
IfStatement.getControlExpression()
Returns the expression used as a branch condition.
|
Expression |
Initializer.getDesignator() |
Expression |
ArraySpecifier.getDimension(int n)
Gets the nth dimension of this array specifier.
|
Expression |
VaArgExpression.getExpression()
Returns the expression.
|
Expression |
UnaryExpression.getExpression()
Returns the operand expression.
|
Expression |
Typecast.getExpression()
Returns the child expression of the typecast.
|
Expression |
ThrowExpression.getExpression() |
Expression |
SwitchStatement.getExpression()
Returns the value expression of the switch statement.
|
Expression |
SizeofExpression.getExpression()
Returns the expression.
|
Expression |
ReturnStatement.getExpression()
Returns the expression that is being returned by this statement,
or null if nothing is being returned.
|
Expression |
OffsetofExpression.getExpression()
Returns the expression operand.
|
Expression |
Intrinsic.getExpression()
Returns the expression.
|
Expression |
GotoStatement.getExpression()
Returns the label name in the goto statement.
|
Expression |
ExpressionStatement.getExpression()
Returns the expression part of the statement.
|
Expression |
DeleteExpression.getExpression() |
Expression |
Case.getExpression()
Returns the target expression associated with the case statement.
|
Expression |
AlignofExpression.getExpression()
Returns the operand expression.
|
Expression |
ConditionalExpression.getFalseExpression()
Returns the expression that follows the false jump.
|
Expression |
ArrayAccess.getIndex(int n)
Gets the n-th index expression of this array access.
|
Expression |
RangeExpression.getLB()
Returns the lower bound of this range expression.
|
static Expression |
Symbolic.getLeastCommonDenominator(Expression e) |
Expression |
BinaryExpression.getLHS()
Returns the lefthand expression.
|
Expression |
FunctionCall.getName()
Returns the name of the function call.
|
static Expression |
RangeExpression.getOmega()
Returns a new instanceof omega expression which is [-inf:inf].
|
Expression |
BinaryExpression.getRHS()
Returns the righthand expression.
|
Expression |
RangeExpression.getSize()
Returns the size of the span bounded by this range expression.
|
Expression |
ForLoop.getStep()
Returns the step expression of the for loop allowing null.
|
Expression |
ConditionalExpression.getTrueExpression()
Returns the expression that follows the true jump.
|
Expression |
RangeExpression.getUB()
Returns the upper bound of this range expression.
|
Expression |
ValueInitializer.getValue() |
static Expression |
Symbolic.gt(Expression e1,
Expression e2)
Returns comparison(greater) of two expressions with simplification.
|
static Expression |
Symbolic.increment(Expression e)
Returns the given expression incremented by one.
|
static Expression |
Symbolic.le(Expression e1,
Expression e2)
Returns comparison(less equal) of two expressions with simplification.
|
static Expression |
Symbolic.lt(Expression e1,
Expression e2)
Returns comparison(less) of two expressions with simplification.
|
static Expression |
Symbolic.mod(Expression e1,
Expression e2)
Returns modulus of two expressions with simplification.
|
static Expression |
Symbolic.multiply(Expression e1,
Expression e2)
Returns multiplication of two expressions with simplification.
|
static Expression |
Symbolic.multiplyAll(java.util.List<Expression> exprs)
Returns an expression that multiplies all expressions in the given
expression list.
|
static Expression |
Symbolic.multiplyByLCM(Expression e)
Returns an expression multiplied by LCM of the denominators present in
the terms in the specified expression.
|
static Expression |
Symbolic.ne(Expression e1,
Expression e2)
Returns comparison(not equal) of two expressions with simplification.
|
Expression |
MinMaxExpression.negate()
Negates the expression by switching the operator and the signs of the
operands.
|
static Expression |
Symbolic.negate(Expression e)
Returns negation of the given expression.
|
static Expression |
Symbolic.or(Expression e1,
Expression e2)
Returns or of two expressions with simplification.
|
static Expression |
Symbolic.power(Expression e,
int order)
Returns
|
static Expression |
Tools.replaceSymbol(Expression e,
Symbol var,
Expression expr)
Deprecated.
|
static Expression |
IRTools.replaceSymbol(Expression e,
Symbol var,
Expression expr)
Replaces all occurrences of the specified variable
var with the
given expression expr in the input expression e. |
Expression |
MinMaxExpression.simplify()
Simplifies a MinMaxExpression as much as possible by removing duplicates
and by matching special cases.
|
static Expression |
Symbolic.simplify(Expression e)
Returns a simplified expression of the given expression with the default
option which turns on every suboptions.
|
static Expression |
Symbolic.simplify(Expression e,
int opt)
Returns a simplified expression of the given expression with the
user-specified option.
|
static Expression |
Symbolic.simplifyDivisible(Expression e)
Returns a simplified expression assuming the given expression is
divisible.
|
static Expression |
Symbolic.subtract(Expression e1,
Expression e2)
Returns subtraction of two expressions with simplification.
|
Expression |
MinMaxExpression.toConditionalExpression()
Converts MinMaxExpression to an equivalent conditional expression.
|
Expression |
RangeExpression.toExpression()
Converts this range expression to a non-range expression if the lower
bound is equal to the upper bound.
|
Expression |
DerefSymbol.toExpression()
Returns an expression instantiation of this deref symbol.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Expression> |
Expression.findExpression(Expression expr)
Returns a list of subexpressions of this expression that match
expr using its equals method.
|
static java.util.List<Expression> |
IRTools.findExpressions(Traversable t,
Expression e)
Finds the list of instances of the Expression
e in the IR tree
t. |
java.util.List<Expression> |
FunctionCall.getArguments()
Returns the list of arguments of the function call.
|
static java.util.List<Expression> |
Symbolic.getCoefficient(Expression e,
java.util.List<Identifier> ids)
Returns the list of coefficient with respect to the given set of
identifiers.
|
static java.util.List<Expression> |
Tools.getDefList(Traversable t)
Deprecated.
|
static java.util.List<Expression> |
DataFlowTools.getDefList(Traversable t)
Returns a list of defined expressions in the traversable object.
|
static java.util.Map<Expression,java.util.Set<java.lang.Integer>> |
Tools.getDefMap(Traversable t)
Deprecated.
|
static java.util.Map<Expression,java.util.Set<java.lang.Integer>> |
DataFlowTools.getDefMap(Traversable t)
Returns a set of defined expressions in the traversable object.
|
static java.util.Set<Expression> |
Tools.getDefSet(Traversable t)
Deprecated.
|
static java.util.Set<Expression> |
DataFlowTools.getDefSet(Traversable t)
Returns a set of defined expressions in the traversable object.
|
static java.util.List<Expression> |
Symbolic.getDenominators(Expression e)
Returns a list of denominators if the expression contains divisions.
|
static java.util.List<Expression> |
Symbolic.getFactors(Expression e) |
java.util.List<Expression> |
ArrayAccess.getIndices()
Returns the list of indices in the array access.
|
static java.util.List<Expression> |
Symbolic.getPolynomialCoef(Expression e,
Identifier id)
Returns a list of expressions which contains coefficients of n-th terms
when the given id is the basis.
|
static java.util.List<Expression> |
Symbolic.getTerms(Expression e)
Returns a list of terms for expressions with addition.
|
static java.util.List<Expression> |
DataFlowTools.getUseList(Traversable t) |
static java.util.Map<Expression,java.util.Set<java.lang.Integer>> |
Tools.getUseMap(Traversable t)
Deprecated.
|
static java.util.Map<Expression,java.util.Set<java.lang.Integer>> |
DataFlowTools.getUseMap(Traversable t)
Returns a set of used expressions with their unique hashcodes in the
traversable object.
|
static java.util.Set<Expression> |
Tools.getUseSet(Traversable t)
Deprecated.
|
static java.util.Set<Expression> |
DataFlowTools.getUseSet(Traversable t)
Returns a set of used expressions in the traversable object.
|
| Modifier and Type | Method and Description |
|---|---|
void |
MinMaxExpression.add(Expression e)
Adds an operand at the end of the operand list.
|
static Expression |
Symbolic.add(Expression e1,
Expression e2)
Returns addition of the two expressions with simplification.
|
void |
FunctionCall.addArgument(Expression expr)
Inserts the specified expression at the end of the argument list.
|
void |
CommaExpression.addExpression(Expression expr)
Inserts a new expression at the end of the expression list.
|
void |
ArrayAccess.addIndex(Expression expr)
Inserts a new index at the end of the index list, increasing the dimension
of the array access.
|
static Expression |
Symbolic.and(Expression e1,
Expression e2)
Returns and of two expressions with simplification.
|
int |
RangeExpression.compareTo(Expression e)
Compares the range expression with the specified expression for order.
|
int |
MinMaxExpression.compareTo(Expression e)
Compares the min/max expression to the specified expression for order.
|
int |
InfExpression.compareTo(Expression e) |
int |
Expression.compareTo(Expression e) |
static boolean |
Tools.containsExpression(Traversable t,
Expression e)
Deprecated.
|
static boolean |
IRTools.containsExpression(Traversable t,
Expression e)
Searches the IR tree beginning at
t for the Expression e. |
static int |
Tools.countExpressions(Traversable t,
Expression e)
Deprecated.
|
static int |
IRTools.countExpressions(Traversable t,
Expression e)
Counts the number of times that the Expression
e appears in
the IR tree t. |
static Expression |
Symbolic.decrement(Expression e)
Returns the given expression decremented by one.
|
static Expression |
Symbolic.divide(Expression e1,
Expression e2)
Returns division of two expressions with simplification.
|
static Expression |
Symbolic.eq(Expression e1,
Expression e2)
Returns comparison(==) of two expressions with simplification.
|
java.util.List<Expression> |
Expression.findExpression(Expression expr)
Returns a list of subexpressions of this expression that match
expr using its equals method.
|
static Expression |
Tools.findExpression(Traversable t,
Expression e)
Deprecated.
|
static Expression |
IRTools.findExpression(Traversable t,
Expression e)
Finds the first instance of the Expression
e in the IR tree
t. |
static java.util.List<Expression> |
IRTools.findExpressions(Traversable t,
Expression e)
Finds the list of instances of the Expression
e in the IR tree
t. |
static Expression |
Symbolic.ge(Expression e1,
Expression e2)
Returns comparison(greater equal) of two expressions with simplification.
|
static Expression |
Symbolic.getClosedFormSum(Identifier id,
Expression lb,
Expression ub,
Expression e)
Returns the closed form of the given summation parameters,
sum(e) s.t.
|
static Expression |
Symbolic.getClosedFormSum(Identifier id,
Expression lb,
Expression ub,
Expression e,
java.lang.Boolean divisible)
Computes and returns the closed form expression of the given expression,
index, and bounds with the divisibility property of the given expression.
|
static Expression |
Symbolic.getCoefficient(Expression e,
Identifier id)
Returns the symbolic coefficient of the given identifier in the
expression.
|
static java.util.List<Expression> |
Symbolic.getCoefficient(Expression e,
java.util.List<Identifier> ids)
Returns the list of coefficient with respect to the given set of
identifiers.
|
static long |
Symbolic.getConstantCoefficient(Expression e)
Returns the constant term in the simplified expression.
|
static Expression |
Symbolic.getConstantCoefficient(Expression e,
java.util.List<Identifier> ids)
Returns the constant term with respect to the given set of variables.
|
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 java.util.List<Expression> |
Symbolic.getDenominators(Expression e)
Returns a list of denominators if the expression contains divisions.
|
static java.util.List<Specifier> |
SymbolTools.getExactExpressionType(Expression e)
Returns the exact type of the given expression, tracking all specifiers
relevant to the expression.
|
static java.util.List |
Tools.getExpressionType(Expression e)
Deprecated.
|
static java.util.List |
SymbolTools.getExpressionType(Expression e)
Returns a list of specifiers of the given expression.
|
static java.util.List<Expression> |
Symbolic.getFactors(Expression e) |
static Expression |
Symbolic.getLeastCommonDenominator(Expression e) |
static java.util.List<Expression> |
Symbolic.getPolynomialCoef(Expression e,
Identifier id)
Returns a list of expressions which contains coefficients of n-th terms
when the given id is the basis.
|
static Symbol |
Tools.getSymbolOf(Expression e)
Deprecated.
|
static Symbol |
SymbolTools.getSymbolOf(Expression e)
Returns the symbol of the expression if it represents an lvalue.
|
static java.util.List<Expression> |
Symbolic.getTerms(Expression e)
Returns a list of terms for expressions with addition.
|
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
|
static java.util.List<Identifier> |
Symbolic.getVariables(Expression e)
Returns the list of variables if the given expression is affine.
|
static java.util.List<java.lang.Object> |
Symbolic.getVariablesOnLHS(Expression e)
Returns a list of comparison expressions equivalent to the given
expression.
|
static java.util.LinkedList |
Tools.getVariableType(Expression e)
Deprecated.
|
static java.util.LinkedList |
SymbolTools.getVariableType(Expression e)
Returns a list of specifiers of the expression.
|
static Expression |
Symbolic.gt(Expression e1,
Expression e2)
Returns comparison(greater) of two expressions with simplification.
|
static Expression |
Symbolic.increment(Expression e)
Returns the given expression incremented by one.
|
static boolean |
Symbolic.isAffine(Expression e,
java.util.List<Identifier> ids)
Checks if the given expression is an affine expression with respect to the
given list of identifiers.
|
static boolean |
Tools.isPointer(Expression e)
Deprecated.
|
static boolean |
SymbolTools.isPointer(Expression e)
Checks if the symbol is a pointer type variable.
|
static Expression |
Symbolic.le(Expression e1,
Expression e2)
Returns comparison(less equal) of two expressions with simplification.
|
static Expression |
Symbolic.lt(Expression e1,
Expression e2)
Returns comparison(less) of two expressions with simplification.
|
static Expression |
Symbolic.mod(Expression e1,
Expression e2)
Returns modulus of two expressions with simplification.
|
static Expression |
Symbolic.multiply(Expression e1,
Expression e2)
Returns multiplication of two expressions with simplification.
|
static Expression |
Symbolic.multiplyByLCM(Expression e)
Returns an expression multiplied by LCM of the denominators present in
the terms in the specified expression.
|
static Expression |
Symbolic.ne(Expression e1,
Expression e2)
Returns comparison(not equal) of two expressions with simplification.
|
static Expression |
Symbolic.negate(Expression e)
Returns negation of the given expression.
|
static Expression |
Symbolic.or(Expression e1,
Expression e2)
Returns or of two expressions with simplification.
|
static Expression |
Symbolic.power(Expression e,
int order)
Returns
|
static void |
Tools.replaceAll(Traversable t,
Expression x,
Expression y)
Deprecated.
|
static void |
IRTools.replaceAll(Traversable t,
Expression x,
Expression y)
Replaces all instances of expression x on the IR tree
beneath t by clones of expression y.
|
static Expression |
Tools.replaceSymbol(Expression e,
Symbol var,
Expression expr)
Deprecated.
|
static Expression |
IRTools.replaceSymbol(Expression e,
Symbol var,
Expression expr)
Replaces all occurrences of the specified variable
var with the
given expression expr in the input expression e. |
static void |
Tools.replaceSymbolIn(Traversable t,
Symbol var,
Expression e)
Deprecated.
|
static void |
IRTools.replaceSymbolIn(Traversable t,
Symbol var,
Expression e)
Replaces all occurrences of the specified variable
var with the
given expression e in the traversable object t in place. |
void |
FunctionCall.setArgument(int n,
Expression expr)
Sets the argument at the specified position with the given new expression.
|
void |
WhileLoop.setCondition(Expression cond)
Sets the condition expression with the given expression cond.
|
void |
ForLoop.setCondition(Expression cond)
Sets the condition expression with the given expression cond.
|
void |
DoLoop.setCondition(Expression cond)
Sets the condition expression with the given expression cond.
|
void |
ConditionalExpression.setCondition(Expression expr)
Sets the condition expression with the specifed new expression.
|
void |
IfStatement.setControlExpression(Expression cond)
Sets the condition expression with the specified new condition.
|
void |
ArraySpecifier.setDimension(int n,
Expression expr)
Sets the nth dimension of this array specifier.
|
void |
UnaryExpression.setExpression(Expression expr)
Sets the operand expression with the specified new expression.
|
void |
SwitchStatement.setExpression(Expression value)
Sets the value of the switch statement with the specified new value.
|
void |
ReturnStatement.setExpression(Expression e)
Sets the child expression as the given expression
e. |
void |
GotoStatement.setExpression(Expression label)
Sets the target label name with the specified expression.
|
void |
ConditionalExpression.setFalseExpression(Expression expr)
Sets the false expression with the specifed new expression.
|
void |
FunctionCall.setFunction(Expression expr)
Sets the name of the function call with the specified new expression.
|
void |
ArrayAccess.setIndex(int n,
Expression expr)
Sets the nth index expression of this array access.
|
void |
RangeExpression.setLB(Expression lb)
Sets the lower bound with the specified expression.
|
void |
BinaryExpression.setLHS(Expression expr)
Sets the lefthand expression.
|
void |
BinaryExpression.setRHS(Expression expr)
Sets the righthand expression.
|
void |
ForLoop.setStep(Expression step)
Sets the step expression with the given expression step.
|
void |
ConditionalExpression.setTrueExpression(Expression expr)
Sets the true expression with the specifed new expression.
|
void |
RangeExpression.setUB(Expression ub)
Sets the upper bound with the specified expression.
|
static Expression |
Symbolic.simplify(Expression e)
Returns a simplified expression of the given expression with the default
option which turns on every suboptions.
|
static Expression |
Symbolic.simplify(Expression e,
int opt)
Returns a simplified expression of the given expression with the
user-specified option.
|
static Expression |
Symbolic.simplifyDivisible(Expression e)
Returns a simplified expression assuming the given expression is
divisible.
|
static Expression |
Symbolic.subtract(Expression e1,
Expression e2)
Returns subtraction of two expressions with simplification.
|
void |
Expression.swapWith(Expression expr)
Swaps two expression on the IR tree.
|
static RangeExpression |
RangeExpression.toRange(Expression e)
Converts an arbitrary expression to a range expression by setting the same
lower bound and upper bound.
|
| Modifier and Type | Method and Description |
|---|---|
static Expression |
Symbolic.addAll(java.util.List<Expression> exprs)
Returns an expression that adds all expressions in the given expression
list.
|
static boolean |
Tools.containsExpressions(Traversable t,
java.util.Collection<? extends Expression> es)
Deprecated.
|
static boolean |
IRTools.containsExpressions(Traversable t,
java.util.Collection<? extends Expression> es)
Searches the IR tree beginning at
t for any expressions in the
given collection of expressions. |
static java.util.Map<Symbol,java.util.Set<java.lang.Integer>> |
Tools.convertExprMap2SymbolMap(java.util.Map<Expression,java.util.Set<java.lang.Integer>> imap)
Deprecated.
|
static java.util.Map<Symbol,java.util.Set<java.lang.Integer>> |
DataFlowTools.convertExprMap2SymbolMap(java.util.Map<Expression,java.util.Set<java.lang.Integer>> imap) |
static void |
Tools.displayMap(java.util.Map<Expression,java.util.Set<java.lang.Integer>> imap,
java.lang.String name)
Deprecated.
|
static void |
DataFlowTools.displayMap(java.util.Map<Expression,java.util.Set<java.lang.Integer>> imap,
java.lang.String name) |
static java.util.List<Symbol> |
SymbolTools.exprsToSymbols(java.util.List<Expression> exprs)
Returns a list of symbols by taking symbol object out of the expressions
in the given list.
|
static void |
Tools.mergeMaps(java.util.Map<Expression,java.util.Set<java.lang.Integer>> orig_map,
java.util.Map<Expression,java.util.Set<java.lang.Integer>> new_map)
Deprecated.
|
static void |
Tools.mergeMaps(java.util.Map<Expression,java.util.Set<java.lang.Integer>> orig_map,
java.util.Map<Expression,java.util.Set<java.lang.Integer>> new_map)
Deprecated.
|
static void |
DataFlowTools.mergeMaps(java.util.Map<Expression,java.util.Set<java.lang.Integer>> orig_map,
java.util.Map<Expression,java.util.Set<java.lang.Integer>> new_map)
add contents of new_map to orig_map
|
static void |
DataFlowTools.mergeMaps(java.util.Map<Expression,java.util.Set<java.lang.Integer>> orig_map,
java.util.Map<Expression,java.util.Set<java.lang.Integer>> new_map)
add contents of new_map to orig_map
|
static Expression |
Symbolic.multiplyAll(java.util.List<Expression> exprs)
Returns an expression that multiplies all expressions in the given
expression list.
|
| Constructor and Description |
|---|
AccessExpression(Expression lhs,
AccessOperator op,
Expression rhs)
Creates an assignment expression.
|
AlignofExpression(Expression expr)
Constructs a new alignof expression with the specified expression.
|
ArrayAccess(Expression array,
Expression index)
Creates an array access with a single index expression.
|
ArrayAccess(Expression array,
java.util.List indices)
Creates an array access with multiple index expressions.
|
ArraySpecifier(Expression expr)
Constructs a new array specifier with the given dimension expression.
|
AssignmentExpression(Expression lhs,
AssignmentOperator op,
Expression rhs)
Creates an assignment expression.
|
BinaryExpression(Expression lhs,
BinaryOperator op,
Expression rhs)
Creates a binary expression.
|
BitfieldSpecifier(Expression e)
Constructs a bit field specifier from the given bit expression.
|
Case(Expression expr)
Create a new case with the specified expression.
|
ConditionalExpression(Expression condition,
Expression true_expr,
Expression false_expr)
Constructs a conditional expression with the specified condition, true
part, and false part.
|
DeleteExpression(boolean array,
Expression expr) |
DeleteExpression(Expression expr) |
DoLoop(Statement body,
Expression condition)
Constructs a new do loop with the given body statement and the condition
expression.
|
ExpressionStatement(Expression expr)
Create an expression statement given an expression.
|
ForLoop(Statement init,
Expression condition,
Expression step,
Statement body)
Constructs a new for loop with the given initial expression init,
the condition expression condition, the step expression
step, and the body statement body.
|
FunctionCall(Expression function,
Expression... args)
Creates a function call having no arguments.
|
FunctionCall(Expression function,
Expression... args)
Creates a function call having no arguments.
|
FunctionCall(Expression function,
java.util.List args)
Creates a function call having a list of arguments.
|
GotoStatement(Expression label)
Create a new goto statement with the specified label.
|
IfStatement(Expression condition,
Statement true_clause)
Create an if statement that has no else clause.
|
IfStatement(Expression condition,
Statement true_clause,
Statement false_clause)
Create an if statement that has an else clause.
|
Initializer(Expression value)
Constructs a new initializer with the specified initializing value.
|
Initializer(Expression designator,
Expression value)
Constructs a new designated initializer with the given designator and the
initial value.
|
Initializer(Expression designator,
java.util.List values)
Constructs a new initializer with the specified designator and the list
of values.
|
MinMaxExpression(boolean ismin,
Expression lhs,
Expression rhs)
Consructs a min/max expression with the specified operator flag and the
two operand expressions.
|
OffsetofExpression(java.util.List pspecs,
Expression expr)
Constructs an offsetof expression with the specified specifiers and
the expression.
|
RangeExpression(Expression lb,
Expression ub)
Constructs a range expression with the given lower and upper bounds.
|
ReturnStatement(Expression expr)
Creates a statement that returns an expression.
|
SizeofExpression(Expression expr)
Constructs a sizeof expression with the specified expression operand
|
SwitchStatement(Expression value)
Creates a new switch statement with the specified expression.
|
SwitchStatement(Expression value,
CompoundStatement stmt)
Constructs a new switch statement with the specified value expression and
the body statement.
|
ThrowExpression(Expression expr) |
Typecast(java.util.List specs,
Expression expr)
Create a normal typecast.
|
Typecast(Typecast.Cast kind,
java.util.List specs,
Expression expr)
Create a special typecast.
|
TypeofSpecifier(Expression expr) |
UnaryExpression(UnaryOperator op,
Expression expr)
Constructs a unary expression with the specified operator and expression.
|
VaArgExpression(Expression expr,
java.util.List pspecs)
Constructs a va_arg expression with the specified expression and specs.
|
ValueInitializer(Expression value) |
WhileLoop(Expression condition,
Statement body)
Constructs a new while loop with the given condition expression
condition and the loop body body.
|