Class DefUseAnalysis#
Defined in File DefUseAnalysis.h
Inheritance Relationships#
Base Types#
public DFAnalysis(Class DFAnalysis)private Support(Class Support)
Class Documentation#
-
class DefUseAnalysis : public DFAnalysis, private Support#
Public Functions
-
inline DefUseAnalysis(SgProject *proj)#
-
inline virtual ~DefUseAnalysis()#
-
inline virtual std::map<SgNode*, multitype> getDefMap()#
-
inline virtual std::map<SgNode*, multitype> getUseMap()#
-
inline void setMaps(std::map<SgNode*, multitype> def, std::map<SgNode*, multitype> use)#
-
virtual int run()#
Run the DFA analysis without debugging.
-
virtual int run(bool debug)#
-
virtual multitype getDefMultiMapFor(SgNode *node)#
get the Definition multimap of a specific SgNode.
-
virtual multitype getUseMultiMapFor(SgNode *node)#
get the Usage multimap of a specific SgNode.
-
std::vector<SgNode*> getAnyFor(const multitype *mul, SgInitializedName *initName)#
-
virtual std::vector<SgNode*> getDefFor(SgNode *node, SgInitializedName *initName)#
get the vector of defining nodes for a specific node and a initializedName.
-
virtual std::vector<SgNode*> getUseFor(SgNode *node, SgInitializedName *initName)#
get the vector of usage nodes for a specific node and a initializedName.
-
virtual bool isNodeGlobalVariable(SgInitializedName *node)#
return whether a node is a global node
-
std::vector<SgInitializedName*> getGlobalVariables()#
-
int start_traversal_of_one_function(SgFunctionDefinition *proc)#
-
bool searchMap(SgNode *node)#
-
virtual int getDefSize()#
-
virtual int getUseSize()#
-
void printMultiMap(const multitype *type)#
-
void printMultiMap(const multitype &type)#
-
virtual void printDefMap()#
-
virtual void printUseMap()#
-
bool addID(SgNode *sgNode)#
-
void addDefElement(SgNode *sgNode, SgInitializedName *initName, SgNode *defNode)#
-
void addUseElement(SgNode *sgNode, SgInitializedName *initName, SgNode *defNode)#
-
void replaceElement(SgNode *sgNode, SgInitializedName *initName)#
-
void mapDefUnion(SgNode *before, SgNode *other, SgNode *current)#
-
void mapUseUnion(SgNode *before, SgNode *other, SgNode *current)#
-
void clearUseOfElement(SgNode *sgNode, SgInitializedName *initName)#
-
virtual int getIntForSgNode(SgNode *node)#
-
virtual void dfaToDOT()#
-
inline void flush()#
-
inline void flushHelp()#
-
inline void disableVisualization()#
-
inline void flushDefuse()#
-
inline DefUseAnalysis(SgProject *proj)#