Skip to content

cfgUtils

Functions

Name

Description

IsConstInt
bool IsConstInt(SgExpression const* rhs, long& val);

computeTermsOfIfCondition_EQ
bool computeTermsOfIfCondition_EQ(SgExpression* expr, varID& x, bool& negX, varID& y, bool& negY, long& c);

computeTermsOfIfCondition_LTEQ
bool computeTermsOfIfCondition_LTEQ(SgExpression* expr, varID& x, bool& negX, varID& y, bool& negY, long& c);

findArrayAccesses
bool findArrayAccesses(SgNode* ast_node, m_varID2varID2quad& wrIndex, m_varID2varID2quad& rdIndex, m_varID2bool& rdFromExp, m_varID2bool& wrFromExp, varIDSet arrays, m_varID2str vars2Name);

funcDeclToDef
SgFunctionDefinition* funcDeclToDef(SgFunctionDeclaration* decl);

genUniqueName
std::string genUniqueName();

getAssignmentLHS
SgNode* getAssignmentLHS(SgNode* n);

getAssignmentRHS
void getAssignmentRHS(SgNode* n, std::set<SgNode*>& rhs);

getFuncDecl
SgFunctionDeclaration* getFuncDecl(std::string name);

getFuncEndCFG
DataflowNode getFuncEndCFG(SgFunctionDefinition* func, bool(* f)(CFGNode) = defaultFilter);

getFuncStartCFG
DataflowNode getFuncStartCFG(SgFunctionDefinition* func, bool(* f)(CFGNode) = defaultFilter);

getProject
SgProject* getProject();

initCFGUtils
void initCFGUtils(SgProject* project_arg);

isAssignment
bool isAssignment(SgNode* n);

/ SgExpression that is that/ assignment (effectively a type cast) or NULL otherwise

parseAddition
bool parseAddition(SgExpression const* expr, varID& j, bool& negJ, varID& k, bool& negK, long& c);

parseArrayAccess
bool parseArrayAccess(SgNode* ast_node, m_varID2varID2quad& wrIndexSimp, varIDlist& wrIndexCpx, m_varID2varID2quad& rdIndexSimp, varIDlist& rdIndexCpx, m_varID2str vars2Name);

parseAssignment
bool parseAssignment(SgNode* expr, short& op, varID& i, varID& j, bool& negJ, varID& k, bool& negK, long& c);

parseDivision
bool parseDivision(SgExpression const* expr, varID& j, varID& k, long& c);

parseExpr
bool parseExpr(SgExpression const* expr, short& op, varID& i, bool& negI, varID& j, bool& negJ, long& c);

parseMultiplication
bool parseMultiplication(SgExpression const* expr, varID& j, varID& k, long& c);

unwrapCasts
SgExpression const* unwrapCasts(SgExpression const* e);

Variables

Created with MrDocs