Name |
Description |
AddConst
|
|
AnalyzeEquation
|
|
AnalyzeStmtRefs
|
|
ApplyBinOP
|
|
ApplyLoopSplitting
|
|
ApplyUnaryOP
|
|
ArrayReferences
|
|
AstPostProcessing
|
|
Clone
|
|
Closure
|
|
CompareVal
|
|
ComputeLoopDep
|
|
CopyArrayOpt2String
|
|
CopyNodeEdge
|
|
CopySplitNodeEdge
|
|
CountEnclosedStmts
|
|
CountIteratorSize
|
|
DebugAnnot
|
|
DecomposeAffineExpression
|
|
DepGraphInsertLoop
|
|
DepGraphNodeAlignLoop
|
|
DepGraphNodeInsertLoop
|
|
DepGraphNodeMergeLoop
|
|
DepGraphNodeRemoveLoop
|
|
DepGraphNodeRestrictDomain
|
|
DepGraphNodeSwapLoop
|
|
DepType2String
|
|
DoubleToString
|
|
EdgeDir2DepDir
|
|
Equal
|
|
FindFirst
|
|
FindVal
|
|
FuseDepGraphNode
|
|
FuseSliceNests
|
|
GenerateDotGraph
|
Generate a dot graph named 'fileName' from a call graph |
GetCommonLoop
|
|
GetEnclosingLoop
|
|
GetExprVal
|
|
GetFirstOperand
|
|
GetFusionInfo
|
|
GetImplicitConversionObject
|
|
GetLoopLevel
|
|
GetOperatorVariant
|
|
GetValBound
|
|
GetValLB
|
|
GetValUB
|
|
GraphNodeToString
|
|
GraphToString
|
|
HasFraction
|
|
IncreaseAlign
|
|
IsImportantForSliceSgFilter
|
|
IsNIL
|
|
IsOne
|
|
IsSCGenerated
|
|
IsValidDep
|
|
IsZero
|
|
IteratorToString1
|
|
IteratorToString2
|
|
LessThan
|
|
Max
|
|
Min
|
|
MoveNodeEdge
|
|
NormalizeForLoop
|
|
NormalizeMatrix
|
|
OptimizeLoopTree
|
|
PrintResults
|
|
PropagateDefUseChainUpdate
|
|
ReadAstTraverse
|
Traverse an entire AST, where op is invoked on each AST node to gather information. |
ReferenceDimension
|
|
ReferenceStride
|
|
RelToString
|
|
ReplaceVal
|
|
RestrictDepDomain
|
|
Reverse
|
|
SelectDepLevel
|
|
SelectDepType
|
|
SelfSpatialReuse
|
|
SetDepDirection
|
|
SgExpr2Var
|
|
SgTreeTraversal_inFileToTraverse
|
|
SliceLoopIvar
|
|
SliceLoopRange
|
|
SliceLoopStep
|
|
SliceNestReverseTypedFusion
|
|
SliceNestTypedFusion
|
|
SplitEquation
|
|
TemporaryReuseRefs
|
|
ToString
|
|
TransformAstTraverse
|
Traverse and transform an entire AST, where op is invoked to transform each sub‐Tree. |
UnwrapVarCond
|
|
UpdateEach
|
|
UpdateEachNodeEdge
|
|
UpdateMatrix
|
|
UpdateNodeEdge
|
|
UpdateSplitNodeEdge
|
|
XOR
|
|
addPredefinedVars
|
|
annotateNumCallers
|
|
attachPreprocessingInfo
|
|
backend
|
|
backendCompilesUsingOriginalInputFile
|
|
backendGeneratesSourceCodeButCompilesUsingOriginalInputFile
|
|
beginClangFrontendValgrindPublicationSession
|
|
buildArtificialFrontier
|
|
buildClangCurrentInstantiationNameForFrontend
|
|
buildClangTemplateInstantiationNameForFrontend
|
|
buildSourceFileForHeaderFile
|
|
buildTokenStreamMapping
|
|
buildTokenStreamMappingForRoot
|
|
buildTokenStreamMappingForSourceFile
|
|
buildVariableList
|
|
callGraphDeclHasIndependentCallableIdentity
|
|
call_graph_traversal_includes_function_decl
|
|
canonicalClassTypeForFirstSeenTracking
|
|
canonicalEnumTypeForFirstSeenTracking
|
|
checkIsModifiedFlag
|
|
checkOpenMPIR
|
|
checkPhysicalSourcePosition
|
Checks whether the physical source position information is consistant in the Sg_File_Info object |
checkTransformedFlagsVisitor
|
Check for consistancy of isTransformation flags for nodes marked as a transformation. |
clangDeclHasBuiltinAttrDefinedForFrontend
|
|
clangFrontendDeclarationHasExactCompletedSourceSurfaceOwnership
|
|
clangFrontendImportedNamespaceModule
|
|
clangFunctionDeclIsBuiltinSupportForFrontend
|
|
clangQualTypeAsStringDefinedForFrontend
|
|
clang_main
|
|
clang_to_dot_main
|
|
cleanupInlinedCode
|
Combined procedure for cleaning up code after inlining. Does not do variable renaming or block flattening, however. |
concreteClangConversionTypeName
|
|
constructorInitializerAssociatedClassUnknown
|
|
convertAdjustArgsClause
|
|
convertAffinityClause
|
|
convertAllocatorClause
|
|
convertAppendArgsClause
|
|
convertAtomicDefaultMemOrderClause
|
|
convertBindClause
|
|
convertBodyDirective
|
|
convertClause
|
|
convertCombinedBodyDirective
|
|
convertDefaultClause
|
|
convertDefaultmapClause
|
|
convertDependClause
|
|
convertDepobjUpdateClause
|
|
convertDirective
|
|
convertDistScheduleClause
|
|
convertExpressionClause
|
|
convertExtImplementationDefinedRequirementClause
|
|
convertFromClause
|
|
convertInitializerIntoAssignment
|
Convert something like "int a = foo();" into "int a; a = foo();" |
convertMapClause
|
|
convertMatchClause
|
|
convertNonBodyDirective
|
|
convertOmpAllocateDirective
|
|
convertOmpBeginDeclareVariantDirective
|
|
convertOmpDeclareSimdDirective
|
|
convertOmpDeclareTargetDirective
|
|
convertOmpDeclareVariantDirective
|
|
convertOmpEndDeclareTargetDirective
|
|
convertOmpEndDeclareVariantDirective
|
|
convertOmpFlushDirective
|
|
convertOmpParallelStatementFromCombinedDirectives
|
|
convertOmpRequiresDirective
|
|
convertOmpTaskwaitDirective
|
|
convertOmpThreadprivateStatement
|
|
convertOpenACCDirective
|
|
convertOrderClause
|
|
convertProcBindClause
|
|
convertScheduleClause
|
|
convertSizesClause
|
|
convertToClause
|
|
convertUsesAllocatorsClause
|
|
convertVariantBodyDirective
|
|
convertVariantDirective
|
|
convertWhenClause
|
|
debug_cfg
|
|
defaultFunctionGenerator
|
|
dependenceDiagnosticNodeText
|
|
destructorCallAnnotator
|
|
detachTokenMappingForRemovedNode
|
|
detectMacroExpansionsToBeUnparsedAsAstTransformations
|
|
detectMacroOrIncludeFileExpansions
|
|
detectTransformations
|
Detect nodes marked as transformations (should not be present coming out of the frontend translation). |
detectTransformations_local
|
|
determineFileType
|
|
doFiniteDifferencingOne
|
Do finite differencing on one expression within one context. The expression must be defined and valid within the entire body of root. The rewrite rules are used to simplify expressions. When a variable var is updated from old_value to new_value, an expression of the form (var, (old_value, new_value)) is created and rewritten. The rewrite rules may either produce an arbitrary expression (which will be used as‐is) or one of the form (var, (something, value)) (which will be changed to (var = value)). |
doInline
|
Main inliner code. Accepts a function call as a parameter, and inlines only that single function call. Returns true if it succeeded, and false otherwise. The function call must be to a named function, static member function, or non‐virtual non‐static member function, and the function must be known (not through a function pointer or member function pointer). Also, the body of the function must already be visible. Recursive procedures are handled properly (when allowRecursion is set), by inlining one copy of the procedure into itself. Any other restrictions on what can be inlined are bugs in the inliner code. |
doRTI
|
|
dominates
|
|
edgePointerReplacement
|
|
endClangFrontendValgrindPublicationSession
|
|
enforceTokenUnparseContract
|
|
escapeString
|
|
escape_double_quotes
|
|
exactQualificationUseSiteForEmission
|
|
existsVariable
|
|
expressionTreeEqual
|
Are two expressions equal (using a deep comparison)? |
expressionTreeEqualStar
|
Are corresponding expressions in two lists equal (using a deep comparison)? |
failSourceQualification
|
|
filterGraph
|
* The function void filterGraph(_GraphStructure& graph, _NodePredicate _nodePred) will filter out all nodes which satisfy the criteria which makes_NodePredicate return 'true'. NodePredicate is any function object that takes a_GraphStructure::Node as a paramater and returns a bool. In order for this to work a function_GraphStructure::DeleteNode must be implemented in order to Delete the nodes. This exact function is implemented asprotected in IDGraphCreateTemplate so it should be easy.* |
findBasicBlockForStmt
|
|
findFollowingPositions
|
|
findIfStmtForSC
|
|
findInitializedNamesInScope
|
Change all members in a program to be public. There should really be a smarter procedure for this that only changes members used by inlined code. Get all variable names declared within a scope, in the correct order for destruction |
findIterator
|
|
findNearestParentOfType
|
|
findPosition
|
|
findPrecedingPositions
|
|
findRootFunc
|
Returns the function definition containing the specified statement. |
findRoseSupportPathFromBuild
|
Find the path of a ROSE support file from the build tree. |
findRoseSupportPathFromSource
|
Find the path of a ROSE support file from the source tree. |
findStatementForExpression
|
|
findVariablesUsedInRegion
|
Find all variables referenced in a region |
finishSageAST
|
|
fixReturnStatements
|
Workaround for ROSE bug. Should be used whenever expressions in a program are modified. |
flattenBlocks
|
Flatten nested blocks of code in a program. This code requires that variable names in the region being processed are already distinct, and it may extend variable lifetimes to the end of the outer block of code. |
formatRTIField
|
|
fortranAttributeStatementOwnsArrayShape
|
|
frontend
|
Simple APIs for ROSE (error codes are in SgProject.frontendErrorCode(), backendErrorCode()). @{ |
frontendExitStatus
|
@} |
frontendShell
|
|
frontierDetectionForTokenStreamMapping
|
|
generateAstGraph
|
|
generateDOT
|
|
generateDOT_withIncludes
|
|
generateDOTforMultipleFile
|
|
generateGraphOfAST
|
|
generateGraphOfIncludeFiles
|
|
generateModFile
|
|
generateNameQualificationSupport
|
|
generatePDF
|
|
generateWholeGraphOfAST
|
generateWholeGraphOfAST overloads
|
generateWholeGraphOfAST_filteredFrontendSpecificNodes
|
|
getAffineIneq
|
|
getAffineIneqDesc
|
|
getAlgebraicRules
|
A standard set of algebraic rules for simple optimizations |
getAllLiveVarsAt
|
|
getAllNodes
|
|
getArrayRefsInSubtree
|
|
getArrayVarRefsInSubtree
|
|
getCallGraph
|
|
getClangTranslationUnitSourceOrder
|
|
getDominators
|
|
getFiniteDifferencingRules
|
A standard set of algebraic and finite‐differencing rules |
getLiveInVarsAt
|
|
getLiveOutVarsAt
|
|
getLocalScopeNum
|
Returns a unique positive integer ID to an SgScopeStatement within a function definition. |
getNodeID
|
|
getNumCallers
|
|
getOpenMPBlockBody
|
|
getOperatorFunctionName
|
|
getParmVarDeclDefaultArgExpr
|
|
getPreprocessorDirectives
|
|
getReadVarRefsInSubtree
|
|
getRootOfExpression
|
Get the topmost enclosing expression of a given expression. Needs to be moved. |
getStatementOfExpression
|
Get the statement of an expression. Somewhat smarter than the standard version of this routine, but needs to be merged. |
getTokenStream
|
|
getVarRefsInSubtree
|
|
getVariantName
|
A global function for getting the string associated with an enum (which is defined in global scope) |
getWriteVarRefsInSubtree
|
|
get_output_filename
|
|
globalUnparseToString
|
|
graphNodesAfterCopy
|
|
graph_trim_trailing_spaces
|
|
hasAddressTaken
|
Does expression expr potentially have its address taken somewhere in the tree pointed to by root? |
initAnalysis
|
|
intermediateRepresentationNodeGraph
|
|
isClangSyntheticTemplateParamName
|
|
isConcreteClangQualType
|
|
isExactCLexicalRecordTagSourceSurface
|
|
isExactEmptyTranslationUnitTokenMapping
|
|
isFortranPairedDirective
|
|
isImplicitAutoPlaceholderTemplateParamName
|
|
isInstantiatedConversionOperatorDecl
|
|
isMemberVariable
|
Internal routine to check whether a given variable declaration is a member variable. |
isNonFriendMemberFunctionDeclaration
|
|
isPotentiallyModified
|
Is expression expr potentially modified (assigned to, address taken, passed by non‐const reference) somewhere in the tree pointed to by root? |
isSgExpression
|
isSgExpression overloads
|
isSgInitializedName
|
isSgInitializedName overloads
|
isSgStatement
|
isSgStatement overloads
|
isTypeConsidered
|
|
isVarExpr
|
|
is_id
|
|
is_num
|
|
is_operator
|
|
is_space
|
|
joinMangledQualifiers
|
Joins two sets of mangled qualifiers to form a new mangled qualifier. |
joinMangledQualifiersToString
|
Joins two sets of mangled qualifiers to form a new mangled qualifier. |
linearize_subtree
|
|
makeEdge
|
Utility function to make CFG Edges |
makeRTIValueDescriptor
|
|
mangleExpression
|
Mangles a constant expression, needed for template arguments. |
mangleFunctionName
|
Returns a mangled form of a C++ function name, as an SgName object. |
mangleFunctionNameToString
|
Returns a mangled form of special C++ function names (excl. qualifiers). |
mangleLocalScopeToString
|
Produces a mangled name for a scope statement. |
mangleQualifiers
|
Mangles a chain of qualifiers, returning an SgName object. |
mangleQualifiersToString
|
Mangles a chain of qualifiers followed from a given scope. |
mangleSgValueExp
|
Mangles a boolean expression. |
mangleTemplate
|
mangleTemplate overloads
|
mangleTemplateArgsToString
|
mangleTemplateArgsToString overloads
|
mangleTemplateFunction
|
Mangles an instantiated template function or member function, returning a SgName object. |
mangleTemplateFunctionToString
|
Mangles an instantiated template function or template member function. |
mangleTemplateToString
|
mangleTemplateToString overloads
|
mangleTranslationUnitQualifiers
|
If the declaration has translation unit scope (as opposed to program scope), mangle the translation unit name. |
mangleTypes
|
Mangles a list of types, returning an SgName object. |
mangleTypesToString
|
Mangles a container of types, returning an STL std::string object. |
mangleValueExp
|
Mangles a value expression, as used in a template argument. |
markClangAstStorageRangeDefinedForFrontend
|
|
markClangFrontendValgrindPublicationOnce
|
|
markClangNamedDeclNameForPrintingDefinedForFrontend
|
|
markClangNnsAstObjectDefined
|
|
markClangNnsNamespaceAndPrefixStorageDefined
|
|
markClangNnsNamespaceBaseDeclDefined
|
|
markClangNnsTypeObjectDefined
|
|
markClangNnsValueDefined
|
|
markClangQualTypeForPrintingDefinedForFrontend
|
|
markLhsValues
|
Mark relavant expressions as l‐values explicitly. |
mark_compiler_generated_frontend_specific
|
|
mlogAssertFail_C
|
|
mlogLevelToString_CXX
|
|
mlogMore_C
|
|
mlogNullStream_CXX
|
|
mlog_C
|
|
moveForDeclaredVariables
|
Move variables declared in a for statement to just outside that statement. |
myStatementInsert
|
Insert a new statement before or after a target statement. If allowForInit is true, the new statement can be inserted into the initializer of a for statement. Needs to be merged |
nestedNameSpecifierHasTemplateKeyword
|
|
nestedNameSpecifierNamespace
|
|
nestedNameSpecifierNamespaceAlias
|
|
nestedNameSpecifierNamespaceAndPrefix
|
|
nestedNameSpecifierNamespaceBase
|
|
nestedNameSpecifierPrefix
|
|
normalizeClangTemplateParamName
|
|
omp_simd_write_arm
|
|
omp_simd_write_intel
|
|
operator&
|
Bitwise conjunction operators |
operator&=
|
Bitwise conjunction assignment operators |
operator*
|
Multiplication operators |
operator+
|
Addition operators |
operator‐
|
Unary minus operators |
operator/
|
|
operator|
|
Bitwise disjunction operators |
operator|=
|
Bitwise disjunction assignment operators |
outputMap
|
|
outputPredefinedMacros
|
Output at least some of the predefined macro settings. |
p_AddOp
|
Match an addition operation |
p_CommaOp
|
Match a comma operation |
p_MultiplyOp
|
Match a multiplication operation |
p_PlusAssignOp
|
Match an add‐assign operation |
p_int
|
Match a particular integer |
p_value
|
Match any constant into a variable |
p_var
|
Match anything into a variable |
parseArraySectionExpression
|
|
parseExpression
|
|
parseOmpArraySection
|
|
parseOmpExpression
|
|
parseOmpVariable
|
|
parseTemplateParamDepthAndIndex
|
|
patact
|
Create a PatternActionRule |
pcloseFromVector
|
|
peek_ch
|
|
peek_id
|
|
peek_next
|
|
popenReadFromVector
|
|
postProcessingSupport
|
|
printAffineInequalities
|
|
printConstrGraphAnalysisStates
|
|
printDivAnalysisStates
|
|
printDominatorAnalysisStates
|
|
printLiveDeadVarsAnalysisStates
|
|
printNodeConstAnalysisStates
|
|
printSeqStructAnalysisStates
|
|
printSgnAnalysisStates
|
|
propagateHiddenListData
|
Propagate hidden list information for variables, types, and class elaboration. |
publishClangTranslationUnitSourceOrder
|
|
pushTestIntoBody
|
Rewrites a while or for loop so that the official test is changed to "true" and what had previously been the test is now an if‐break combination (with an inverted condition) at the beginning of the loop body |
qualifiedTypeHasQualifier
|
|
qualifiedTypeQualifier
|
|
queryIsImportantForSliceType
|
|
queryIsImportantForSliceTypeWithCalls
|
|
readClangNnsApiValueDefined
|
|
read_ch
|
|
read_graph
|
|
read_id
|
|
read_list
|
Read a list of items of type ItemGen, they are separated using 'sep' |
read_num
|
|
read_operator
|
|
rebindVariableAndLabelReferences
|
Change all variable and label references to point to new symbols, created to point to the matching declaration found in the program. This needs to be moved into somewhere in FixSgTree. |
rememberClassTypeFirstSeenState
|
|
rememberEnumTypeFirstSeenState
|
|
removeNullStatements
|
Remove all null statements (those with only an integer constant or a null expression) |
removeUnusedVariables
|
Remove unused variables in a scope |
removeVariableDeclaration
|
Remove the declaration of a given variable |
renameLabels
|
Rename all labels in a block of code. |
renameVariables
|
Rename all variables in a block of code, and ensure that all variable references point to the correct declarations. |
replaceAssignmentStmtWithStatement
|
Replace an assignment statement with the result of a statement generator. Assumptions: from has assignment expr at top level of statement from is not in the test of a loop or if statement not currently traversing from |
replaceChild
|
Replace a child of a node. |
replaceExpressionWithExpression
|
Replace the expression "from" with another expression "to", wherever it appears in the AST. The expression "from" is not deleted, and may be reused elsewhere in the AST. |
replaceNonAlphaNum
|
|
reportNodesMarkedAsModified
|
|
requireClangFunctionDeclSourceProvenanceForFrontend
|
|
requireClangOrderedDeclarationProvenanceForFrontend
|
|
resetTypesInAST
|
|
resolveRoseClangPaths
|
|
resolveRosePaths
|
|
resolveTemplateParameterNameFromSageScopeShared
|
|
rewrite
|
Rewrite a node and its children recursively using a rule. Iterate until no more changes can be made. |
roseInstallPrefix
|
Find the path of the ROSE install prefix. |
rosePathIsWithinTree
|
|
roseResolveTestOutputPath
|
|
rose_getline
|
Reads a line of text from a stream. |
rose_strtoull
|
Convert a string to an unsigned long integer. |
runAffineIneqPlacer
|
|
runNodeConstAnalysis
|
|
runPlaceUniqueIDs
|
|
saveCFGsToDots
|
|
setTrueFalseIneq
|
affineInequalitiesPlacer * |
shortCircuitingTransformation
|
|
simpleCopyAndConstantPropagation
|
In code with declarations such as "int foo = bar", where foo and bar are not modified, replace "foo" with "bar" and remove the declaration |
simpleFrontierDetectionForTokenStreamMapping
|
|
simpleIndexFiniteDifferencing
|
Do a simple form of finite differencing on all functions contained within root (which should be a project, file, or function definition). |
simpleUndoFiniteDifferencingOne
|
Propagate definitions of a variable to its uses. Assumptions: var is only assigned at the top level of body nothing var depends on is assigned within body Very simple algorithm designed to only handle simplest cases |
sla
|
|
sla_set_debug
|
|
sourceQualificationFileLoc
|
|
sourceQualificationFromNestedNameSpecifierLoc
|
|
sourceQualificationHasNonWhitespace
|
|
sourceQualificationIsSemanticMacroExpansionFragment
|
|
sourceQualificationIsSemanticMacroFragment
|
|
sourceQualificationMatchesSemanticIdentity
|
|
sourceQualificationPrefixLoc
|
|
sourceQualificationSemanticHasGlobal
|
|
systemFromVector
|
|
templateParameterNameFromSageShared
|
|
templateParametersForSageDeclarationShared
|
|
testAstForUniqueNodes
|
|
testForCycleInTemplateArgumentsOfTemplateDeclaration
|
|
toStringForRTI
|
|
topLevelValidateParentPointers
|
This is a top level function not called recursively. |
trimClangFrontendString
|
|
trimSpaces
|
Returns the input std::string stripped of leading and trailing spaces. |
typedefDeclarationReferenceShared
|
|
unescapeString
|
|
unparseDirectory
|
Support for handling directories of files in ROSE (useful for code generation). |
unparseFile
|
User callable function available if compilation using the backend compiler is not required. |
unparseFileList
|
Support for refactored handling directories of files. |
unparseIncludedFiles
|
User callable function available if compilation using the backend compiler is not required. |
unparseProject
|
User callable function available if compilation using the backend compiler is not required. |
unparse_alignas
|
|
unparse_asm_clobber_name
|
|
unparse_asm_label_name
|
|
unsetNodesMarkedAsModified
|
|
validateFreshSubtreeOwnership
|
Validate a fresh detached construction transaction. |
validateOpenACCDirectiveForSage
|
|
validateParentPointers
|
Validate exact parent ownership for a published AST. |
validateParentPointersOfClassOrNamespaceDeclarations
|
This is a top level function not called recursively. |
validateTypedefDeclarationReferenceShared
|
|
version_message
|
|
version_number
|
|
writeList
|
|
write_graph
|
|
write_graph2
|
|
write_graph_node_edge
|
|
operator<<
|
Stream insertion operators |
operator==
|
Equality operators |
operator!=
|
Inequality operators |
operator<
|
Less‐than operators |
operator<=
|
Less‐than‐or‐equal operators |
operator>
|
Greater‐than operators |
operator>=
|
Greater‐than‐or‐equal operators |