ROSE
0.9.6a
|
#include <DefUseAnalysis_perFunction.h>
Public Member Functions | |
DefUseAnalysisPF (bool debug, DefUseAnalysis *dfa_p) | |
virtual | ~DefUseAnalysisPF () |
FilteredCFGNode< IsDFAFilter > | run (SgFunctionDefinition *function, bool &abortme) |
int | getNumberOfNodesVisited () |
Public Member Functions inherited from DefUseAnalysisAbstract | |
DefUseAnalysisAbstract () | |
virtual | ~DefUseAnalysisAbstract () |
Public Member Functions inherited from Support | |
template<typename T > | |
std::string | ToString (T t) |
std::string | resBool (bool val) |
template<typename T > | |
bool | isContainedinVector (T filterNode, std::vector< T > worklist) |
std::string | getAppName (SgFunctionDeclaration *functionDeclaration) |
std::string | getFileNameString (std::string src) |
std::string | getFullName (SgFunctionDefinition *functionDef) |
Private Member Functions | |
bool | makeSureThatTheUseIsInTable (SgInitializedName *initName) |
bool | makeSureThatTheDefIsInTable (SgInitializedName *initName) |
template<typename T > | |
bool | hasANodeAboveCurrentChanged (T cfgNode) |
template<typename T > | |
bool | performUseAndDefinition (SgNode *sgNode, SgInitializedName *initName, bool isUsage, bool isDefinition, SgNode *sgNodeBefore, bool dont_replace, T cfgNode) |
void | handleDefCopy (SgNode *sgNode, int nrOfInEdges, SgNode *sgNodeBefore, filteredCFGNodeType cfgNode) |
void | handleUseCopy (SgNode *sgNode, int nrOfInEdges, SgNode *sgNodeBefore, filteredCFGNodeType cfgNode) |
template<typename T > | |
bool | defuse (T cfgNode, bool *unhandled) |
Private Attributes | |
int | nrOfNodesVisitedPF |
int | breakPointForWhile |
SgNode * | breakPointForWhileNode |
Additional Inherited Members | |
Protected Types inherited from DefUseAnalysisAbstract | |
typedef std::vector< std::pair < SgInitializedName *, SgNode * > > | multitype |
typedef std::map< SgNode *, multitype > | tabletype |
typedef FilteredCFGEdge < IsDFAFilter > | filteredCFGEdgeType |
typedef FilteredCFGNode < IsDFAFilter > | filteredCFGNodeType |
Protected Member Functions inherited from DefUseAnalysisAbstract | |
bool | searchMulti (const multitype *multi, SgInitializedName *initName) |
bool | searchVector (std::vector< filteredCFGNodeType > done, filteredCFGNodeType cfgNode) |
SgInitializedName * | getInitName (SgNode *l_expr) |
SgExpression * | resolveCast (SgExpression *expr) |
bool | isDoubleExactEntry (const multitype *multi, SgInitializedName *name, SgNode *sgNode) |
bool | checkElementsForEquality (const multitype *t1, const multitype *t2) |
template<typename T > | |
SgNode * | getOtherInNode (T cfgNode, SgNode *oneNode) |
template<typename T > | |
SgNode * | getCFGPredNode (T cfgNode) |
template<typename T > | |
void | printCFGVector (std::vector< T > worklist) |
Protected Attributes inherited from DefUseAnalysisAbstract | |
bool | DEBUG_MODE |
bool | DEBUG_MODE_EXTRA |
DefUseAnalysis * | dfa |
std::set< SgNode * > | doNotVisitMap |
std::map< SgNode *, bool > | nodeChangedMap |
Definition at line 13 of file DefUseAnalysis_perFunction.h.
|
inline |
Definition at line 42 of file DefUseAnalysis_perFunction.h.
References breakPointForWhile, breakPointForWhileNode, DefUseAnalysisAbstract::DEBUG_MODE, DefUseAnalysisAbstract::DEBUG_MODE_EXTRA, and DefUseAnalysisAbstract::dfa.
|
inlinevirtual |
Definition at line 49 of file DefUseAnalysis_perFunction.h.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
virtual |
Implements DefUseAnalysisAbstract.
int DefUseAnalysisPF::getNumberOfNodesVisited | ( | ) |
|
private |
Definition at line 37 of file DefUseAnalysis_perFunction.h.
|
private |
Definition at line 38 of file DefUseAnalysis_perFunction.h.
Referenced by DefUseAnalysisPF().
|
private |
Definition at line 39 of file DefUseAnalysis_perFunction.h.
Referenced by DefUseAnalysisPF().