| Package | Description |
|---|---|
| cetus.analysis | |
| cetus.application | |
| cetus.base.grammars | |
| cetus.hir | |
| cetus.transforms |
| Modifier and Type | Method and Description |
|---|---|
Procedure |
CallGraph.Caller.getCallingProc() |
Procedure |
IPANode.getProcedure()
Returns the procedure associated with the current node.
|
Procedure |
CallGraph.Node.getProcedure() |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<Procedure> |
CallGraph.Node.getCallees() |
java.util.List<Procedure> |
CallGraph.getTopologicalCallList() |
| Modifier and Type | Method and Description |
|---|---|
void |
CallGraph.Node.addCallee(Procedure proc) |
void |
ArrayPrivatization.analyzeProcedure(Procedure proc)
Starts array privatization for a procedure.
|
boolean |
CallGraph.callsSelf(Procedure proc) |
IPANode |
IPAGraph.getNode(Procedure procedure)
Returns the node representing the given procedure.
|
java.util.Map<Statement,RangeDomain> |
RangeAnalysis.getRangeMap(Procedure proc)
Performs range analysis for the procedure and returns the result.
|
void |
InlineExpansion.inlineIn(Procedure proc)
inlines the function calls in the body of the given procedure, doesn't go deeper than that
i.e.
|
boolean |
ArrayParameterAnalysis.isDisjoint(Symbol symbol1,
Symbol symbol2,
Procedure procedure)
Checks if the two symbols are alias-free between themselves.
|
boolean |
CallGraph.isLeaf(Procedure proc)
Determines if the procedure is a leaf of the call graph.
|
boolean |
CallGraph.isRecursive(Procedure proc) |
| Constructor and Description |
|---|
CallGraph.Node(Procedure proc) |
IPANode(Procedure proc)
Constructs an IPANode object with the given procedure.
|
| Modifier and Type | Method and Description |
|---|---|
static Procedure |
ChainTools.getParentProcedure(Traversable trav,
Program program) |
Procedure |
AnalysisTarget.getProcedure() |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> |
DataFlowAnalysis.getAnalysisTargetListMap() |
java.util.Map<Procedure,CFGraph> |
IPChainAnalysis.getCfgMap() |
static java.util.Set<Procedure> |
ChainTools.getProcedureSet(Program program) |
| 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
|
void |
ProgramSlicer.addSlicingCriteria(DFANode dfaNode,
Procedure proc)
Add program slice criteria
Whole DFANode is added to the slice criteria
|
static java.util.Set<Symbol> |
ChainTools.getDefSymbol(AnalysisTarget[] defArray,
Procedure proc) |
static java.util.Set<Symbol> |
ChainTools.getDefSymbol(java.util.Set<AnalysisTarget> defSet,
Procedure proc) |
AnalysisTarget[] |
IPChainAnalysis.getDefTargetArray(Procedure proc) |
static java.util.List<Expression> |
ChainTools.getPlainDefList(Traversable tr,
Procedure proc)
This returns the definition list in the plain assignment statement;
|
static IDExpression |
ChainTools.getRefIDExpression(Expression ex,
Procedure proc)
Extract the variable ID from the input expression.
|
static java.util.List<Expression> |
ChainTools.getRefIDExpressionListInConditionalExpressionArg(ConditionalExpression conEx,
Procedure proc) |
AnalysisTarget[] |
IPChainAnalysis.getUseTargetArray(Procedure proc) |
static boolean |
ChainTools.hasSameArrayAccessInStruct(Expression def,
Expression use,
Procedure proc) |
static boolean |
ChainTools.hasSameStructureVariableIdentifier(Expression def,
Expression use,
Procedure proc) |
static boolean |
ChainTools.isArrayAccessInStruct(Expression expression,
Procedure proc) |
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.matchRefIdInExpression(Expression ex1,
Expression ex2,
Procedure proc) |
static void |
SlicingTools.printDominanceTree(DFAGraph postDomTree,
Procedure proc) |
static void |
SlicingTools.printDominator(java.util.BitSet[] dominator,
DFANode[] nodeArray,
Procedure proc) |
void |
DataFlowAnalysis.setAnalysisTarget(Procedure targetProc,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> targetMap) |
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 |
ProgramSummaryGraph.buildGraph(java.util.Map<Procedure,CFGraph> cfgMap) |
void |
ControlDependenceGraph.buildGraph(java.util.Map<Procedure,CFGraph> cfgMap) |
void |
DataFlowAnalysis.setAnalysisTarget(Procedure targetProc,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> targetMap) |
void |
ProgramSummaryGraph.setProcList(java.util.Set<Procedure> procList) |
void |
IPChainAnalysis.setProcList(java.util.Set<Procedure> procList) |
void |
ControlDependenceGraph.setProcSet(java.util.Set<Procedure> procSet) |
| Constructor and Description |
|---|
AnalysisTarget(Expression expression,
DFANode cfgNode,
Procedure proc) |
AnalysisTarget(FunctionCall fc,
DFANode cfgNode,
Procedure proc) |
ChainComputer(Procedure proc,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.LinkedHashSet<AnalysisTarget> globalDefSet,
java.util.LinkedHashSet<AnalysisTarget> globalUseSet,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> defTargetSetMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> useTargetSetMap) |
| Constructor and Description |
|---|
ChainComputer(Procedure proc,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.LinkedHashSet<AnalysisTarget> globalDefSet,
java.util.LinkedHashSet<AnalysisTarget> globalUseSet,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> defTargetSetMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> useTargetSetMap) |
ChainComputer(Procedure proc,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.LinkedHashSet<AnalysisTarget> globalDefSet,
java.util.LinkedHashSet<AnalysisTarget> globalUseSet,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> defTargetSetMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> useTargetSetMap) |
ChainComputer(Procedure proc,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.LinkedHashSet<AnalysisTarget> globalDefSet,
java.util.LinkedHashSet<AnalysisTarget> globalUseSet,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> defTargetSetMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> useTargetSetMap) |
DataFlowAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
boolean forward,
boolean may) |
ProgramSlicer(java.util.Map<Procedure,CFGraph> cfgMap,
IPChainAnalysis udChain,
Program program) |
PSGReachingDefinitionAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> refParamMap,
java.util.Map<AnalysisTarget,java.lang.Integer> refParamIdxMap) |
PSGReachingDefinitionAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> refParamMap,
java.util.Map<AnalysisTarget,java.lang.Integer> refParamIdxMap) |
PSGReachingDefinitionAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Symbol> globalSet,
java.util.Set<AnalysisTarget> globalDefList,
java.util.Set<Procedure> globalDefProcSet) |
PSGReachingDefinitionAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Symbol> globalSet,
java.util.Set<AnalysisTarget> globalDefList,
java.util.Set<Procedure> globalDefProcSet) |
PSGReachingGlobalProcSetAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Procedure> globalProcSet) |
PSGReachingGlobalProcSetAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Procedure> globalProcSet) |
PSGRegionalKillSetAnlaysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> targetSetMap,
java.util.Set<Procedure> globalProcSet) |
PSGRegionalKillSetAnlaysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> targetSetMap,
java.util.Set<Procedure> globalProcSet) |
PSGRegionalKillSetAnlaysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> targetSetMap,
java.util.Set<Procedure> globalProcSet) |
PSGUpwardsExposedUsesAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> refParamMap,
java.util.Map<AnalysisTarget,java.lang.Integer> refParamIdxMap) |
PSGUpwardsExposedUsesAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Map<Procedure,java.util.Set<AnalysisTarget>> refParamMap,
java.util.Map<AnalysisTarget,java.lang.Integer> refParamIdxMap) |
PSGUpwardsExposedUsesAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Symbol> globalSet,
java.util.Set<AnalysisTarget> globalUseList,
java.util.Set<Procedure> globalUseProcSet) |
PSGUpwardsExposedUsesAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.Set<Symbol> globalSet,
java.util.Set<AnalysisTarget> globalUseList,
java.util.Set<Procedure> globalUseProcSet) |
ReachingDefinitionAnalysis(Program program,
java.util.Map<Procedure,CFGraph> cfgMap,
java.util.LinkedHashSet<AnalysisTarget> globalDefList) |
| Modifier and Type | Method and Description |
|---|---|
Procedure |
NewCParser.functionDef() |
| Modifier and Type | Method and Description |
|---|---|
Procedure |
Procedure.clone()
Returns a clone of the procedure.
|
static Procedure |
Tools.getParentProcedure(Traversable t)
Deprecated.
|
static Procedure |
IRTools.getParentProcedure(Traversable t)
Returns the Procedure to which the input traversable
object belongs.
|
Procedure |
Statement.getProcedure()
Returns the procedure in which this statement is located.
|
Procedure |
FunctionCall.getProcedure()
Returns the Procedure object for the function that is being called.
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.List<Procedure> |
Tools.getProcedureList(Program program)
Deprecated.
|
static java.util.List<Procedure> |
IRTools.getProcedureList(Program program)
Return a list of Procedures in a program.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
Procedure.defaultPrint(Procedure p,
java.io.PrintWriter o)
Prints a procedure to a stream.
|
static java.util.List<Statement> |
Tools.getLastStatements(Procedure proc)
Deprecated.
|
static java.util.List<Statement> |
IRTools.getLastStatements(Procedure proc)
Returns a list of the last Statements to be evaluated in the Procedure.
|
static java.util.Set<Symbol> |
Tools.getParameterSymbols(Procedure proc)
Deprecated.
|
static java.util.Set<Symbol> |
SymbolTools.getParameterSymbols(Procedure proc)
Returns the set of Symbol objects that are formal parameters of
the given Procedure
|
static boolean |
SymbolTools.isFormal(Symbol symbol,
Procedure proc)
Checks if the given symbol is declared as a formal variable.
|
| Modifier and Type | Method and Description |
|---|---|
void |
SingleReturn.transformProcedure(Procedure proc) |
void |
SingleCall.transformProcedure(Procedure proc)
Performs transformation for the specified procedure
|
abstract void |
ProcedureTransformPass.transformProcedure(Procedure proc) |
void |
NormalizeReturn.transformProcedure(Procedure proc) |