ROSE
0.9.6a
|
#include <LivenessAnalysis.h>
Public Member Functions | |
LivenessAnalysis (bool debug, DefUseAnalysis *dfa_p) | |
virtual | ~LivenessAnalysis () |
SgFunctionDefinition * | getFunction (SgNode *node) |
int | getNumberOfNodesVisited () |
FilteredCFGNode< IsDFAFilter > | run (SgFunctionDefinition *function, bool &abortme) |
std::vector< SgInitializedName * > | getIn (SgNode *sgNode) |
std::vector< SgInitializedName * > | getOut (SgNode *sgNode) |
int | getVisited (SgNode *n) |
void | setIn (SgNode *sgNode, std::vector< SgInitializedName * > vec) |
void | setOut (SgNode *sgNode, std::vector< SgInitializedName * > vec) |
template<class T > | |
T | merge_no_dups (T &v1, T &v2) |
void | fixupStatementsINOUT (SgFunctionDefinition *funcDecl) |
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 | |
void | printInAndOut (SgNode *sgNode) |
template<typename T > | |
bool | defuse (T cfgNode, bool *unhandled) |
template<typename T > | |
bool | hasANodeAboveCurrentChanged (T source) |
template<class T > | |
void | getAllNodesBelow (T source, std::vector< T > &visited) |
template<class T > | |
void | getAllNodesAbove (T source, std::vector< T > &visited) |
Private Attributes | |
SgProject * | project |
bool | DEBUG_MODE |
SgNode * | searchNode |
bool | abort |
int | counter |
std::map< SgNode *, std::vector < SgInitializedName * > > | in |
std::map< SgNode *, std::vector < SgInitializedName * > > | out |
int | nrOfNodesVisitedPF |
int | breakPointForWhile |
SgNode * | breakPointForWhileNode |
std::map< SgNode *, int > | visited |
bool | forwardAlgo |
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 17 of file LivenessAnalysis.h.
|
inline |
Definition at line 46 of file LivenessAnalysis.h.
|
inlinevirtual |
Definition at line 54 of file LivenessAnalysis.h.
|
private |
|
private |
|
private |
|
private |
|
private |
SgFunctionDefinition* LivenessAnalysis::getFunction | ( | SgNode * | node) |
int LivenessAnalysis::getNumberOfNodesVisited | ( | ) |
|
virtual |
Implements DefUseAnalysisAbstract.
|
inline |
Definition at line 62 of file LivenessAnalysis.h.
References SqlDatabase::in().
Referenced by BottomUpTraversalLivenessIN::evaluateSynthesizedAttribute().
|
inline |
Definition at line 63 of file LivenessAnalysis.h.
Referenced by BottomUpTraversalLivenessOUT::evaluateSynthesizedAttribute().
|
inline |
Definition at line 64 of file LivenessAnalysis.h.
|
inline |
Definition at line 66 of file LivenessAnalysis.h.
References SqlDatabase::in().
Referenced by BottomUpTraversalLivenessIN::evaluateSynthesizedAttribute().
|
inline |
Definition at line 67 of file LivenessAnalysis.h.
Referenced by BottomUpTraversalLivenessOUT::evaluateSynthesizedAttribute().
T LivenessAnalysis::merge_no_dups | ( | T & | v1, |
T & | v2 | ||
) |
void LivenessAnalysis::fixupStatementsINOUT | ( | SgFunctionDefinition * | funcDecl) |
|
private |
Definition at line 19 of file LivenessAnalysis.h.
|
private |
Definition at line 20 of file LivenessAnalysis.h.
|
private |
Definition at line 22 of file LivenessAnalysis.h.
|
private |
Definition at line 25 of file LivenessAnalysis.h.
|
private |
Definition at line 26 of file LivenessAnalysis.h.
|
private |
Definition at line 27 of file LivenessAnalysis.h.
|
private |
Definition at line 28 of file LivenessAnalysis.h.
|
private |
Definition at line 30 of file LivenessAnalysis.h.
|
private |
Definition at line 33 of file LivenessAnalysis.h.
|
private |
Definition at line 34 of file LivenessAnalysis.h.
|
private |
Definition at line 37 of file LivenessAnalysis.h.
|
private |
Definition at line 43 of file LivenessAnalysis.h.