ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InterproceduralInfo Class Reference

#include <InterproceduralInfo.h>

Collaboration diagram for InterproceduralInfo:

Classes

struct  CallSiteStructure
 

Public Member Functions

void setCallInterestingNode (int id, SgNode *node)
 
SgNodegetCallInterestingNode (int id)
 
SgNodegetActualReturn (int id)
 
SgNodegetActualIn (int id, int varNr)
 
int getActualInCount (int id)
 
void addActualIn (int id, SgExpression *node)
 
void setSliceImportantNode (int id, SgNode *node)
 
void setActualReturn (int id, SgNode *node)
 
SgNodegetSliceImportantFunctionCallNode (int i)
 returns the node for the function call, which contains the function call More...
 
std::set< SgNode * > getExitNodes ()
 
void addParameterToFunctionCall (SgNode *functionCall, SgExpression *param)
 
int callSiteCount ()
 
SgNodegetFunctionCallExpNode (int i)
 
SgNodegetFunctionEntry ()
 
void setEllipse (SgNode *formal)
 
SgNodegetEllipse ()
 
bool isUndefined ()
 
int getFormalCount ()
 
SgNodegetFormal (int nr)
 
void setFormalReturn (SgNode *node)
 
SgNodegetFormalReturn ()
 
void addExitNode (SgNode *node)
 
 InterproceduralInfo (SgFunctionDeclaration *functionDeclaration)
 
SgFunctionDeclarationfoo ()
 
SgFunctionDefinitiongetFunctionDefinition ()
 
SgFunctionDeclarationgetFunctionDeclaration ()
 
int addFunctionCall (SgNode *functionCall)
 

Static Public Member Functions

static SgNodeidentifyEntryNode (SgFunctionDeclaration *dec)
 
static SgNodeidentifyEntryNode (SgFunctionDefinition *def)
 

Protected Attributes

SgFunctionDeclarationdecl
 
SgFunctionDefinitiondef
 
SgNodeentry
 
std::list< SgInitializedName * > arg_order
 
SgNodeformal_return
 
std::vector< SgNode * > formal
 
SgNodeellipseNode
 
std::set< SgNode * > exitNodes
 
std::vector< CallSiteStructurecallSites
 
std::map< SgNode *, int > callSitesMap
 

Detailed Description

Definition at line 47 of file InterproceduralInfo.h.

Constructor & Destructor Documentation

Member Function Documentation

static SgNode* InterproceduralInfo::identifyEntryNode ( SgFunctionDeclaration dec)
inlinestatic

Definition at line 50 of file InterproceduralInfo.h.

References SgFunctionDeclaration::get_definition().

static SgNode* InterproceduralInfo::identifyEntryNode ( SgFunctionDefinition def)
inlinestatic

Definition at line 61 of file InterproceduralInfo.h.

References def.

void InterproceduralInfo::setCallInterestingNode ( int  id,
SgNode node 
)
inline

Definition at line 85 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getCallInterestingNode ( int  id)
inline

Definition at line 89 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getActualReturn ( int  id)
inline

Definition at line 93 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getActualIn ( int  id,
int  varNr 
)
inline

Definition at line 97 of file InterproceduralInfo.h.

References callSites.

int InterproceduralInfo::getActualInCount ( int  id)
inline

Definition at line 101 of file InterproceduralInfo.h.

References callSites.

void InterproceduralInfo::addActualIn ( int  id,
SgExpression node 
)
inline

Definition at line 105 of file InterproceduralInfo.h.

References callSites.

void InterproceduralInfo::setSliceImportantNode ( int  id,
SgNode node 
)
inline

Definition at line 109 of file InterproceduralInfo.h.

References callSites.

void InterproceduralInfo::setActualReturn ( int  id,
SgNode node 
)
inline

Definition at line 113 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getSliceImportantFunctionCallNode ( int  i)
inline

returns the node for the function call, which contains the function call

Definition at line 119 of file InterproceduralInfo.h.

References callSites.

std::set<SgNode *> InterproceduralInfo::getExitNodes ( )
inline

Definition at line 123 of file InterproceduralInfo.h.

References exitNodes.

void InterproceduralInfo::addParameterToFunctionCall ( SgNode functionCall,
SgExpression param 
)
inline

Definition at line 127 of file InterproceduralInfo.h.

int InterproceduralInfo::callSiteCount ( )
inline

Definition at line 131 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getFunctionCallExpNode ( int  i)
inline

Definition at line 135 of file InterproceduralInfo.h.

References callSites.

SgNode* InterproceduralInfo::getFunctionEntry ( )
inline

Definition at line 139 of file InterproceduralInfo.h.

References entry.

void InterproceduralInfo::setEllipse ( SgNode formal)
inline

Definition at line 143 of file InterproceduralInfo.h.

References ellipseNode, and formal.

SgNode* InterproceduralInfo::getEllipse ( )
inline

Definition at line 147 of file InterproceduralInfo.h.

References ellipseNode.

bool InterproceduralInfo::isUndefined ( )
inline

Definition at line 178 of file InterproceduralInfo.h.

References def.

int InterproceduralInfo::getFormalCount ( )
inline

Definition at line 183 of file InterproceduralInfo.h.

References formal.

SgNode* InterproceduralInfo::getFormal ( int  nr)
inline

Definition at line 187 of file InterproceduralInfo.h.

References formal.

void InterproceduralInfo::setFormalReturn ( SgNode node)
inline

Definition at line 197 of file InterproceduralInfo.h.

References formal_return.

SgNode* InterproceduralInfo::getFormalReturn ( )
inline

Definition at line 201 of file InterproceduralInfo.h.

References formal_return.

void InterproceduralInfo::addExitNode ( SgNode node)
inline

Definition at line 206 of file InterproceduralInfo.h.

References exitNodes.

SgFunctionDeclaration* InterproceduralInfo::foo ( )
inline

Definition at line 260 of file InterproceduralInfo.h.

References decl.

SgFunctionDefinition* InterproceduralInfo::getFunctionDefinition ( )
inline

Definition at line 261 of file InterproceduralInfo.h.

References def.

SgFunctionDeclaration* InterproceduralInfo::getFunctionDeclaration ( )
inline

Definition at line 263 of file InterproceduralInfo.h.

References decl.

Referenced by SystemDependenceGraph::addInterproceduralInformation().

Member Data Documentation

SgFunctionDeclaration* InterproceduralInfo::decl
protected

Definition at line 153 of file InterproceduralInfo.h.

Referenced by foo(), getFunctionDeclaration(), and InterproceduralInfo().

SgFunctionDefinition* InterproceduralInfo::def
protected
SgNode* InterproceduralInfo::entry
protected

Definition at line 155 of file InterproceduralInfo.h.

Referenced by getFunctionEntry(), and InterproceduralInfo().

std::list< SgInitializedName * > InterproceduralInfo::arg_order
protected

Definition at line 162 of file InterproceduralInfo.h.

SgNode* InterproceduralInfo::formal_return
protected

Definition at line 164 of file InterproceduralInfo.h.

Referenced by getFormalReturn(), InterproceduralInfo(), and setFormalReturn().

std::vector<SgNode*> InterproceduralInfo::formal
protected

Definition at line 165 of file InterproceduralInfo.h.

Referenced by getFormal(), getFormalCount(), InterproceduralInfo(), and setEllipse().

SgNode* InterproceduralInfo::ellipseNode
protected

Definition at line 166 of file InterproceduralInfo.h.

Referenced by getEllipse(), InterproceduralInfo(), and setEllipse().

std::set<SgNode *> InterproceduralInfo::exitNodes
protected

Definition at line 168 of file InterproceduralInfo.h.

Referenced by addExitNode(), and getExitNodes().

std::map<SgNode *, int> InterproceduralInfo::callSitesMap
protected

Definition at line 174 of file InterproceduralInfo.h.

Referenced by addFunctionCall().


The documentation for this class was generated from the following file: