Skip to content

AstUtilInterface

Enums

Functions

Name

Description

AddOperatorSideEffectAnnotation
void AddOperatorSideEffectAnnotation(SgNode* op_ast, AstNodePtr const& var, OperatorSideEffect relation);

CollectSideEffectVariables
void CollectSideEffectVariables(SgNode* ast, std::vector<AstNodePtr>* writeVars = 0, std::vector<AstNodePtr>* readVars = 0, std::vector<AstNodePtr>* callVars = 0);

Collect non‐local variables that are read and written within the given ast. This is a wrapper of the ComputeAstSideEffects function to provide a more convenient user interface. Returns true if the returned variables are guaranteed to be complete; returns false otherwise.

ComputeAstSideEffects
void ComputeAstSideEffects(SgNode* ast, std::function<bool(AstNodePtr const&, AstNodePtr const&, OperatorSideEffect)>* collect = 0, SaveOperatorSideEffectInterface* add_to_dep_table = 0);

Returns the collection of memory references modified, read, and invoked (as function calls) as potential side effects of running the given ast, inside the given scope.

GetVariableSignature
std::string GetVariableSignature(AstNodePtr const& variable);

Returns a string that uniquely identifies the given variable. If provided with a dict_table, save the file name and line number for the signature.

IsLocalRef
bool IsLocalRef(SgNode* ref, SgNode* scope, bool* has_ptr_deref = 0);

OperatorSideEffectName
std::string OperatorSideEffectName(OperatorSideEffect what);

OutputOperatorSideEffectAnnotations
void OutputOperatorSideEffectAnnotations(std::ostream& output, DependenceTable* use_dep_analysis = 0);

OutputSignatureDictionary
void OutputSignatureDictionary(std::ostream& output);

ReadAnnotations
void ReadAnnotations(std::istream& input, DependenceTable* use_dep_table = 0);

RegisterOperatorSideEffectAnnotation
void RegisterOperatorSideEffectAnnotation();

SetFunctionNameMangling
void SetFunctionNameMangling(std::string()(SgFunctionDeclaration const));

SetSaveVariableDictionary
void SetSaveVariableDictionary(bool doit);

operator<<
std::ostream& operator<<(std::ostream& output, DependenceEntry const& e);

Stream insertion operator

Created with MrDocs