Class SystemDependenceGraph#

Inheritance Relationships#

Base Types#

Class Documentation#

class SystemDependenceGraph : public MergedDependenceGraph, public MergedDependenceGraph#

Public Functions

inline void addLibraryExtender(SDGLibraryExtender *le)#
inline SystemDependenceGraph()#
SgNode *getMainFunction()#
void createSafeConfiguration(SgFunctionDeclaration *fDef)#
bool isKnownLibraryFunction(SgFunctionDeclaration *fDec)#
void createConnectionsForLibaryFunction(SgFunctionDeclaration *fDec)#
void parseProject(SgProject *project)#
void performInterproceduralAnalysis()#

once all functions have been added to the SystemDependenceGraph this function performas the connection of callsites to all possible called functions and establishes summary-edges

void computeSummaryEdges()#
void cleanUp(std::set<SgNode*> preserve)#
void addFunction(FunctionDependenceGraph *pdg)#
void createFunctionStub(InterproceduralInfo *info)#
void addFunction(ControlDependenceGraph *cdg, DataDependenceGraph *ddg)#
inline InterproceduralInfo *getInterproceduralInformation(SgFunctionDeclaration *dec)#
inline void addInterproceduralInformation(InterproceduralInfo *info)#
void doInterproceduralConnections(InterproceduralInfo *ii)#
void process()#
virtual std::set<DependenceNode*> getSlice(DependenceNode *node)#
std::set<FunctionDependenceGraph*> getPDGs()#
inline void addLibraryExtender(SDGLibraryExtender *le)
inline SystemDependenceGraph()
SgNode *getMainFunction()
void createSafeConfiguration(SgFunctionDeclaration *fDef)
bool isKnownLibraryFunction(SgFunctionDeclaration *fDec)
void createConnectionsForLibaryFunction(SgFunctionDeclaration *fDec)
void parseProject(SgProject *project)
void performInterproceduralAnalysis()

once all functions have been added to the SystemDependenceGraph this function performas the connection of callsites to all possible called functions and establishes summary-edges

void computeSummaryEdges()
void cleanUp(std::set<SgNode*> preserve)
void addFunction(FunctionDependenceGraph *pdg)
void createFunctionStub(InterproceduralInfo *info)
void addFunction(ControlDependenceGraph *cdg, DataDependenceGraph *ddg)
inline InterproceduralInfo *getInterproceduralInformation(SgFunctionDeclaration *dec)
inline void addInterproceduralInformation(InterproceduralInfo *info)
void doInterproceduralConnections(InterproceduralInfo *ii)
void process()
virtual std::set<DependenceNode*> getSlice(DependenceNode *node)
std::set<FunctionDependenceGraph*> getPDGs()