A B C D E F G H I J K L M N O P Q R S T U V W _ 

I

ID - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
Identifier - Class in cetus.hir
Identifier represents a valid C identifier which has a matching variable declarator.
Identifier(Symbol) - Constructor for class cetus.hir.Identifier
Constructs and returns a new Identifier with the given Symbol object.
identityIndexOf(List, Object) - Static method in class cetus.hir.Tools
 
IDExpression - Class in cetus.hir
IDExpression represents an IR object that appears as an identifier in the program.
idList() - Method in class cetus.base.grammars.NewCParser
 
IDMEAT - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
IfStatement - Class in cetus.hir
Represents a if statement in C programs.
IfStatement(Expression, Statement) - Constructor for class cetus.hir.IfStatement
Create an if statement that has no else clause.
IfStatement(Expression, Statement, Statement) - Constructor for class cetus.hir.IfStatement
Create an if statement that has an else clause.
in() - Method in class cetus.analysis.CallSite
Returns the IN data.
in(Domain) - Method in class cetus.analysis.CallSite
Sets the IN data with the given Domain object.
in(CallSite) - Method in class cetus.analysis.IPANode
Returns the context-sensitive IN data.
in() - Method in class cetus.analysis.IPANode
Returns the IN data after joining all IN data.
in(CallSite, Domain) - Method in class cetus.analysis.IPANode
Set the IN data with the specified Domain object and the calling site.
INC - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
Include - Static variable in interface cetus.base.grammars.PreCParserTokenTypes
 
include(String, String, String) - Method in class cetus.exec.CommandLineOptionSet
Includes the specified IR type and name in the inclusion set for the specified option name.
inclusiveOrExpr() - Method in class cetus.base.grammars.NewCParser
 
increment(Expression) - Static method in class cetus.hir.Symbolic
Returns the given expression incremented by one.
indexByReference(List, Object) - Static method in class cetus.hir.Tools
 
InfExpression - Class in cetus.hir
InfExpression represents a literal expression having a value greater than or less than any possible numbers.
InfExpression(int) - Constructor for class cetus.hir.InfExpression
Constructs an inf expression with the specified sign.
initDecl() - Method in class cetus.base.grammars.NewCParser
 
initDeclList() - Method in class cetus.base.grammars.NewCParser
 
initialize(String) - Method in class cetus.base.grammars.NewCLexer
 
initialize() - Method in class cetus.base.grammars.NewCLexer
 
initializeAllOptionsPanel() - Method in class cetus.gui.CetusGUIOptionsPanel
 
initializer() - Method in class cetus.base.grammars.NewCParser
 
Initializer - Class in cetus.hir
Initializer holds initial values for the associated variable declarator.
Initializer(Expression) - Constructor for class cetus.hir.Initializer
Constructs a new initializer with the specified initializing value.
Initializer(Expression, Expression) - Constructor for class cetus.hir.Initializer
Constructs a new designated initializer with the given designator and the initial value.
Initializer(List) - Constructor for class cetus.hir.Initializer
Constructs a new initializer with the specified list of values.
Initializer(Expression, List) - Constructor for class cetus.hir.Initializer
Constructs a new initializer with the specified designator and the list of values.
initializerElementLabel() - Method in class cetus.base.grammars.NewCParser
 
initializerList() - Method in class cetus.base.grammars.NewCParser
 
initUI() - Method in class cetus.gui.CetusGUI
 
inline(Program) - Method in class cetus.analysis.InlineExpansion
performs inlining in the given program according to the options that have been set before calling this function Following are taken care of: * Functions that result in recursion are not inlined * Functions that use static external variables are not inlined * Global variables used in the function to be inlined are handled by declaring them as extern * Variable reshaping (array-dimensions) is handled * Long function call chains (a->b->c->d->...) are handled as long as they do not result in a recursion * Switches are provided for controlling variable names and their lengths * Support for making log * Comments with the inlined code
INLINE - Static variable in class cetus.hir.InlineAnnotation
 
INLINE - Static variable in class cetus.hir.Specifier
 
INLINE_IN - Static variable in class cetus.hir.InlineAnnotation
 
INLINE_IN_TEXT - Static variable in class cetus.hir.InlineAnnotation
 
INLINE_TEXT - Static variable in class cetus.hir.InlineAnnotation
 
InlineAnnotation - Class in cetus.hir
Introduces inline annotations.
InlineAnnotation(String) - Constructor for class cetus.hir.InlineAnnotation
Constructs an pragma
InlineAnnotationParser - Class in cetus.analysis
Parses the inline annotations.
InlineAnnotationParser() - Constructor for class cetus.analysis.InlineAnnotationParser
 
InlineExpansion - Class in cetus.analysis
Performs simple function inlining.
InlineExpansion() - Constructor for class cetus.analysis.InlineExpansion
default constructor
InlineExpansion(int) - Constructor for class cetus.analysis.InlineExpansion
 
InlineExpansion(int, ArrayList<String>) - Constructor for class cetus.analysis.InlineExpansion
Creates an instance of the Inliner
InlineExpansionPass - Class in cetus.transforms
Transforms a program by performing simple subroutine in-line expansion in its main function.
InlineExpansionPass(Program) - Constructor for class cetus.transforms.InlineExpansionPass
Constructs an inline expansion pass
inlineIn(Procedure) - Method in class cetus.analysis.InlineExpansion
inlines the function calls in the body of the given procedure, doesn't go deeper than that i.e.
inlineIn(CompoundStatement) - Method in class cetus.analysis.InlineExpansion
inlines the function calls in the given compound statement, doesn't go deeper than that i.e.
inputExeFile - Static variable in class cetus.gui.CetusGuiSpeedupPanel
 
inputFile - Static variable in class cetus.gui.CetusGUI
 
inputFileName - Static variable in class cetus.gui.CetusGUI
 
inputFileNameLowerCase - Static variable in class cetus.gui.CetusGUI
 
INSTANCEOF - Static variable in class cetus.hir.BinaryOperator
instanceof
INT - Static variable in class cetus.hir.Specifier
 
IntegerLiteral - Class in cetus.hir
Represents an integer literal in the program.
IntegerLiteral(long) - Constructor for class cetus.hir.IntegerLiteral
Constructs an integer literal with the specified numeric value.
IntegerLiteral(long, String) - Constructor for class cetus.hir.IntegerLiteral
Constructs an integer literal with the specified value and suffix.
IntegerLiteral(String) - Constructor for class cetus.hir.IntegerLiteral
Construct an IntegerLiteral from a string and set the proper print method
INTERFACE - Static variable in class cetus.hir.ClassDeclaration
Keyword for interface type declaration.
intersect(Domain) - Method in interface cetus.analysis.Domain
Returns intersection of the two domains.
intersect(Domain) - Method in class cetus.analysis.NullDomain
 
intersect(Domain) - Method in class cetus.analysis.PointsToDomain
Extract all pointer relationships that are identical in the other points-to domain and return a domain representing the intersection
intersect(Domain) - Method in class cetus.analysis.PointsToDomain.Universe
 
intersect(Domain) - Method in class cetus.analysis.RangeDomain
 
intersect(Domain) - Method in class cetus.analysis.SetDomain
 
intersectRanges(RangeDomain) - Method in class cetus.analysis.RangeDomain
Intersects two sets of value ranges using current range domain.
intersectRanges(Expression, RangeDomain, Expression, RangeDomain) - Static method in class cetus.analysis.RangeDomain
Computes the intersection of the two expressions with the given range domains.
intersectWith(Section.ELEMENT, RangeDomain) - Method in class cetus.analysis.Section.ELEMENT
Performs intersection operation between two section elements with the specified range domain.
intersectWith(Section, RangeDomain) - Method in class cetus.analysis.Section
Performs intersection operation between two sections with the specified range domain.
intersectWith(Section.MAP, RangeDomain) - Method in class cetus.analysis.Section.MAP
Performs intersection operation between the two section maps with the specified range domain.
IntHexConst - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
IntIntConst - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
IntOctalConst - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
Intrinsic - Interface in cetus.hir
Any class implementing this interface has the properties of what we call an intrinsic function, it has a specific meaning and is represented as an Expression in the IR.
IntSuffix - Static variable in interface cetus.base.grammars.NEWCTokenTypes
 
invalidate() - Static method in class cetus.analysis.ArrayParameterAnalysis
Invalidates the analysis result.
invalidate() - Static method in class cetus.analysis.RangeAnalysis
Invalidates range domains stored in the static spaces.
IPAGraph - Class in cetus.analysis
Class IPAGraph provides a call graph for interprocedural analysis.
IPAGraph(Program) - Constructor for class cetus.analysis.IPAGraph
Constructs a new IPAGraph with the given program and performs topological ordering of the graph.
IPAnalysis - Class in cetus.analysis
Class IPAnalysis provides common framework for interprocedural analysis passes.
IPANode - Class in cetus.analysis
Class IPANode represents workspace for a procedure, used in interprocedural analysis.
IPANode(Procedure) - Constructor for class cetus.analysis.IPANode
Constructs an IPANode object with the given procedure.
IPChainAnalysis - Class in cetus.application
This class performs the interprocedural Def-Use and Use-Def chain computation.
IPChainAnalysis(Program) - Constructor for class cetus.application.IPChainAnalysis
Constructs a IPChainAnalysis object which can perform the def-use/use-def chain computation.
IPPointsToAnalysis - Class in cetus.analysis
Interprocedural analysis enables computation of points-to relations through whole-program analysis provided by the common interprocedural framework in Cetus.
IPPointsToAnalysis(Program) - Constructor for class cetus.analysis.IPPointsToAnalysis
Constructs a new interprocedural points-to analyzer.
IPPointsToAnalysis.AbstractLocation - Class in cetus.analysis
AbstractLocation represents a abstract location that is not referenced to in terms of a program variable.
IPRangeAnalysis - Class in cetus.analysis
Class IPRangeAnalysis performs interprocedural range analysis.
IRIterator<E extends Traversable> - Class in cetus.hir
An iterator implementing this interface supports special versions of next.
IRTools - Class in cetus.hir
IRTools provides tools that perform search/replace in the IR tree.
isAffine(Expression, List<Identifier>) - Static method in class cetus.analysis.NormalExpression
Deprecated.
Checks if the given expression is an affine expression with respect to the given set of identifiers.
isAffine(Expression, List<Identifier>) - Static method in class cetus.hir.Symbolic
Checks if the given expression is an affine expression with respect to the given list of identifiers.
isAliased(Statement, Symbol, Symbol) - Method in class cetus.analysis.AliasAnalysis
Returns true if Symbol a is aliased to Symbol b at the given statement.
isAliased(Statement, Symbol, Set<Symbol>) - Method in class cetus.analysis.AliasAnalysis
Returns true if the given Symbol, a, is aliased to any symbol in the set of Symbols, bset.
isAliasedToUniverse() - Method in class cetus.analysis.AliasAnalysis
 
isAncestorOf(Traversable, Traversable) - Static method in class cetus.hir.IRTools
Checks if the specified traversable object anc is an ancestor of the other traversable object des in the IR tree.
isAncestorOf(Traversable, Traversable) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isArray() - Method in class cetus.analysis.Section
Checks if the section is for an array variable.
isArray(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is an array variable.
isArray(Symbol) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isArrayAccess(Expression) - Static method in class cetus.application.ChainTools
 
isArrayAccessInStruct(Expression, Procedure) - Static method in class cetus.application.ChainTools
 
isArrayAccessWithConstantIndex(Expression) - Static method in class cetus.application.ChainTools
 
isArrayAccessWithNoIndex(Expression) - Static method in class cetus.application.ChainTools
 
isArrayAccessWithPartiallyConstantIndex(Expression) - Static method in class cetus.application.ChainTools
 
isArrayAccessWithVariableIndex(Expression) - Static method in class cetus.application.ChainTools
 
isBounded() - Method in class cetus.hir.RangeExpression
Returns true if neither lb nor ub is infinity.
isCanonical(Loop) - Static method in class cetus.analysis.LoopTools
Check if loop is canonical, FORTRAN DO Loop format
isCarried(Loop) - Method in class cetus.analysis.DDGraph.Arc
 
isCircular() - Method in class cetus.analysis.Relation
 
isCompare() - Method in class cetus.hir.BinaryOperator
Checks if this operator belongs to binary comparison operator.
isComplementFunctions() - Method in class cetus.analysis.InlineExpansion
tells if the complement functions option is on
isCType() - Method in class cetus.hir.Specifier
Checks if the specifier is used as a type specifier.
isDebugOption() - Method in class cetus.analysis.InlineExpansion
tells if the debug option is on
isDefinedArrayDeclarator(VariableDeclarator) - Static method in class cetus.application.ChainTools
 
isDefinedArrayNestedDeclarator(NestedDeclarator) - Static method in class cetus.application.ChainTools
 
isDefinite() - Method in class cetus.analysis.PointsToRel
Is the relationship definitely valid
isDefInItself(DFANode, Expression, Expression) - Static method in class cetus.application.ChainTools
 
isDescendantOf(Traversable, Traversable) - Static method in class cetus.hir.IRTools
Checks if the specified traversable object des is a descendant of the other traversable object anc in the IR tree.
isDescendantOf(Traversable, Traversable) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isDisjoint(Symbol, Symbol, Procedure) - Method in class cetus.analysis.ArrayParameterAnalysis
Checks if the two symbols are alias-free between themselves.
isEmpty() - Method in class cetus.analysis.DFAGraph
Checks if the graph is empty.
isEmpty() - Method in class cetus.hir.RangeExpression
Checks if this range expression has a lower bound greater than the upper bound.
isEmptyRange(Expression) - Method in class cetus.analysis.RangeDomain
 
isEntryNode(DFANode, CFGraph) - Static method in class cetus.application.ChainTools
 
isEQ(Expression, Expression) - Method in class cetus.analysis.RangeDomain
 
isEQ() - Method in class cetus.analysis.Relation
Checks if "equal to" is implied in this relation.
isEqual() - Method in class cetus.analysis.DependenceVector
Checks if the dependence vector represents "equal" dependences for all nesting levels.
isExcluded(String, String, String) - Method in class cetus.exec.CommandLineOptionSet
 
isExitNode(DFANode, CFGraph) - Static method in class cetus.application.ChainTools
 
isFormal(Symbol, Procedure) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is declared as a formal variable.
isFormal(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is declared as a formal variable.
isFullyQualifiedName() - Method in class cetus.analysis.InlineExpansion
tells if the inlining code uses verbose names for variables that it introuduces
isGE(Expression, Expression) - Method in class cetus.analysis.RangeDomain
 
isGE() - Method in class cetus.analysis.Relation
Checks if "greater equal" is implied in this relation.
isGlobal(Expression) - Static method in class cetus.application.ChainTools
 
isGlobal() - Method in class cetus.hir.DeleteExpression
returns true if it is set to be global.
isGlobal() - Method in class cetus.hir.NewExpression
returns true if it is set to be global.
isGlobal(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is declared as a global variable.
isGlobal(Symbol, Traversable) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is a global variable to the procedure containing the given traversable object.
isGlobal(Symbol, Traversable) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isGT(Expression, Expression) - Method in class cetus.analysis.RangeDomain
 
isGT() - Method in class cetus.analysis.Relation
Checks if "greater than" is implied in this relation.
isHonorPragmas() - Method in class cetus.analysis.InlineExpansion
tells if the honor pragmas option is on
isIdentical(Object, Object) - Static method in class cetus.application.ChainTools
 
isIncluded(String, String, String) - Method in class cetus.exec.CommandLineOptionSet
 
isIncluded(String, String, String) - Static method in class cetus.exec.Driver
 
isIncrementConstant(Loop) - Static method in class cetus.analysis.LoopTools
Get loop increment expression and check if it is an integer constant
isIncrementEligible(Loop) - Static method in class cetus.analysis.LoopTools
Returns true if the loop increment is an integer constant value.
isIndexInvariant(Loop, Identifier) - Static method in class cetus.analysis.LoopTools
Check if the index variable is defined within the loop body
isInlineFuncsWithStaticVars() - Method in class cetus.analysis.InlineExpansion
tells if the functions having static local variables will be inlined or not
isInnermostLoop(Loop) - Static method in class cetus.analysis.LoopTools
Checks whether this loop contains any inner loops
isInsideForOnly() - Method in class cetus.analysis.InlineExpansion
tells if the foronly option is on
isInteger(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is an interger type variable.
isInteger(List) - Static method in class cetus.hir.SymbolTools
 
isInteger(Symbol) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isLE(Expression, Expression) - Method in class cetus.analysis.RangeDomain
 
isLE() - Method in class cetus.analysis.Relation
Checks if "less equal" is implied in this relation.
isLeaf(Procedure) - Method in class cetus.analysis.CallGraph
Determines if the procedure is a leaf of the call graph.
isLegal(LinkedList<Loop>, int, int) - Method in class cetus.transforms.LoopInterchange
 
isLegal(LinkedList<Loop>, int, int) - Method in class cetus.transforms.LoopTiling
 
isLevel_1() - Method in class cetus.analysis.InlineExpansion
tells if the level_1 option is on
isLibraryCall() - Method in class cetus.analysis.CallSite
Checks if there is a matching function body for the call site.
isLocal(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is declared as a local variable.
isLogical() - Method in class cetus.hir.BinaryOperator
Checks if this operator belongs to boolean logic operator.
isLoopInvariant(Loop, Expression) - Static method in class cetus.analysis.LoopTools
Check if the given expression is loop invariant
isLowerBoundConstant(Loop) - Static method in class cetus.analysis.LoopTools
Check if the lower bound expression is an integer constant
isLT(Expression, Expression) - Method in class cetus.analysis.RangeDomain
 
isLT() - Method in class cetus.analysis.Relation
Checks if "less than" is implied in this relation.
isMakeLog() - Method in class cetus.analysis.InlineExpansion
tells if the log is being made
isMin() - Method in class cetus.hir.MinMaxExpression
Returns true if this is a MIN expression.
isNE() - Method in class cetus.analysis.Relation
Checks if "not equal" is implied in this relation.
isNegMin() - Method in class cetus.hir.MinMaxExpression
Checks if this expression is a MIN expression having at least one operand with negative value.
isNestedDefInItself(DFANode, Expression, Expression) - Static method in class cetus.application.ChainTools
 
isNonConstReferenceTypeParameter(VariableDeclaration) - Static method in class cetus.application.ChainTools
 
isOmega() - Method in class cetus.hir.RangeExpression
Checks if this range expression does not have any closed bounds.
isOrphan(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol does not belong to the IR tree.
isOutermostLoop(Loop) - Static method in class cetus.analysis.LoopTools
Checks whether this loop is enclosed by any outer loops
isPerfectNest(Loop) - Static method in class cetus.analysis.LoopTools
Check if this loop and inner loops form a perfect nest
isPointer(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is a pointer type variable.
isPointer(Expression) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is a pointer type variable.
isPointer(Symbol) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isPointer(Expression) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isPointerAccess(Expression) - Static method in class cetus.application.ChainTools
 
isPointerParameter(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is a parameter and a pointer-compatible symbol.
isPosMax() - Method in class cetus.hir.MinMaxExpression
Checks if this expression is a MIN expression having at least one operand with positive value.
isPrivate(Symbol, Loop) - Static method in class cetus.analysis.LoopTools
Check if the input symbol is marked as private to the loop by the Privatization pass.
isProcedure() - Method in class cetus.hir.NestedDeclarator
Checks if the nested declarator is used to represent a procedure call.
isReachable(DFANode, DFANode) - Method in class cetus.analysis.DFAGraph
Checks if the "to" node is reachable from the "from" node by performing a depth-first-search.
isReachable(Expression, Expression) - Method in interface cetus.application.DefUseChain
Returns if the given definition reaches the given use interprocedurally
isReachable(Expression, Expression) - Method in class cetus.application.IPChainAnalysis
 
isRecursive(Procedure) - Method in class cetus.analysis.CallGraph
 
isRecursive() - Method in class cetus.analysis.IPANode
Checks if this node can be called recursively
isReduction(Symbol, Loop) - Static method in class cetus.analysis.LoopTools
Check if the input symbol is marked as reduction for the loop by the Reduction pass.
isRoot() - Method in class cetus.analysis.IPANode
Checks if this node is a root node
isSafeLibraryCall(FunctionCall) - Static method in class cetus.analysis.IPPointsToAnalysis
Checks if the given function call is known for having no side effects on the "points-to relation" (not on memory).
isScalar() - Method in class cetus.analysis.Section
Checks if the section is for a scalar variable.
isScalar(Symbol) - Static method in class cetus.hir.SymbolTools
Checks if the symbol is a scalar variable.
isScalar(Symbol) - Static method in class cetus.hir.Tools
Deprecated.
As of release 1.2; use the new tools in DataFlowTools, IRTools, PrintTools, or SymbolTools.
isSideEffectFree(FunctionCall) - Static method in class cetus.hir.StandardLibrary
Checks if the given function call may have side effects.
isSideEffectFreeExceptIO(FunctionCall) - Static method in class cetus.hir.StandardLibrary
Checks if the only side effect in the given function call is IO.
isStruct(Symbol, Traversable) - Static method in class cetus.hir.SymbolTools
Checks if the given symbol is a user-defined struct type.
isStructure() - Method in class cetus.hir.UserSpecifier
 
isStructureAccess(Expression, Procedure) - Static method in class cetus.application.ChainTools
 
isStructureAccessInDec(Expression, Procedure) - Static method in class cetus.application.ChainTools
 
isStructureAccessInParam(Expression, Procedure) - Static method in class cetus.application.ChainTools
 
isTestEligible() - Method in class cetus.analysis.BanerjeeTest
 
isTestEligible() - Method in interface cetus.analysis.DDTest
Returns whether the constructor for the dependence test determined whether it would be eligible to run the test on the pair of subscripts or not
isTestEligible() - Method in class cetus.analysis.OmegaTest
 
isTestEligible() - Method in class cetus.analysis.RangeTest
Checks if this test can proceed.
isTypedef() - Method in class cetus.hir.VariableDeclaration
 
isTypedefName(String) - Method in class cetus.base.grammars.NewCParser
 
isUnknown() - Method in class cetus.analysis.Relation
Checks if there is no known relationship.
isUpperBoundConstant(Loop) - Static method in class cetus.analysis.LoopTools
Check if loop upper bound is an integer constant
isValid() - Method in class cetus.analysis.DependenceVector
 
iterator() - Method in class cetus.analysis.DFAGraph
Returns an iterator of the nodes.
IVSubstitution - Class in cetus.transforms
IVSubstitution performs induction variable substitution for additive induction variables.
IVSubstitution(Program) - Constructor for class cetus.transforms.IVSubstitution
Constructs an induction variable transformation pass with the given program object.
A B C D E F G H I J K L M N O P Q R S T U V W _