ROSE
0.9.6a
|
#include <graphProcessing.h>
Public Types | |
typedef boost::graph_traits < CFG >::vertex_descriptor | Vertex |
typedef boost::graph_traits < CFG >::edge_descriptor | Edge |
typedef StackFrameVector < SynthesizedAttributeType > | SynthesizedAttributesList |
Public Member Functions | |
void | constructPathAnalyzer (CFG *g, bool unbounded=false, Vertex end=0, Vertex begin=0, bool ns=true) |
This is the function that is used by the user directly to start the algorithm. More... | |
virtual void | analyzePath (std::vector< Vertex > &pth)=0 |
std::vector< int > | getInEdges (int &node, CFG *&g) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getInEdges Input: More... | |
std::vector< int > | getOutEdges (int &node, CFG *&g) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getOutEdges Input: More... | |
int | getTarget (int &n, CFG *&g) |
Gets the target of an edge SgGraphTraversal::getTarget Input: More... | |
int | getSource (int &n, CFG *&g) |
Gets the source of an edge SgGraphTraversal::getSource Input: More... | |
SgGraphTraversal () | |
virtual | ~SgGraphTraversal () |
SgGraphTraversal (SgGraphTraversal &) | |
SgGraphTraversal & | operator= (SgGraphTraversal &) |
void | firstPrepGraph (CFG *&g) |
DEPRECATED This is the function that preps the graph for traversal, currently this one isn't used but for many traversals on one visitor may necessitate. More... | |
virtual | ~SgGraphTraversal () |
SgGraphTraversal () | |
SgGraphTraversal (const SgGraphTraversal &) | |
const SgGraphTraversal & | operator= (const SgGraphTraversal &) |
InheritedAttributeType | traverse (SgGraphNode *basenode, SgIncidenceDirectedGraph *g, InheritedAttributeType inheritedValue, InheritedAttributeType nullInherit, SgGraphNode *endnode, bool insep=false, bool pcHk=false) |
This is the function that is used by the user directly to start the algorithm. More... | |
Public Attributes | |
std::map< Vertex, int > | vertintmap |
std::map< Edge, int > | edgeintmap |
std::map< int, Vertex > | intvertmap |
std::map< int, Edge > | intedgemap |
int | pathnum |
std::set< std::map< int, std::set< int > > > | subpathmap |
int | loopNum |
int | nullNum |
std::set< SgDirectedGraphEdge * > | nullEdgesOrdered |
std::map< SgGraphNode *, int > | loopNumMap |
std::map< SgGraphNode *, int > | pathValMap |
int | nullloops |
std::vector< std::vector < SgGraphNode * > > | looppaths |
std::vector< std::vector < SgGraphNode * > > | iLoops |
std::vector< SgGraphNode * > | ifstatements |
int | nullEdgesPaths |
int | turns |
int | numnodes |
SgGraphNode * | nullnode |
std::map< SgGraphNode *, int > | primenode |
bool | done |
std::set< SgGraphNode * > | lstN |
std::map< SgGraphNode *, std::vector< std::set< int > > > | lstordmap |
std::set< SgGraphNode * > | solvedLoops |
std::map< SgGraphNode *, std::vector< SgGraphNode * > > | checkednodes |
std::map< SgGraphNode *, std::set< SgGraphNode * > > | downed |
InheritedAttributeType | nullInherit |
std::set< SgGraphNode * > | loopSet |
Protected Member Functions | |
virtual InheritedAttributeType | evaluateInheritedAttribute (SgGraphNode *n, std::vector< InheritedAttributeType > inheritedValues)=0 |
virtual SynthesizedAttributeType | evaluateSynthesizedAttribute (SgGraphNode *n, InheritedAttributeType in, SynthesizedAttributesList l)=0 |
virtual void | pathAnalyze (std::vector< SgGraphNode * > &pth, bool loop=false, std::set< std::vector< SgGraphNode * > > &incloops=NULL)=0 |
SynthesizedAttributeType | defaultSynthesizedAttribute (InheritedAttributeType) |
Private Types | |
typedef boost::graph_traits < CFG >::vertex_iterator | vertex_iterator |
typedef boost::graph_traits < CFG >::out_edge_iterator | out_edge_iterator |
typedef boost::graph_traits < CFG >::in_edge_iterator | in_edge_iterator |
typedef boost::graph_traits < CFG >::edge_iterator | edge_iterator |
Private Member Functions | |
void | prepareGraph (CFG *&g) |
This is the function that preps the graph for traversal. More... | |
void | findClosuresAndMarkersAndEnumerate (CFG *&g) |
This calculates nodes with more than one in edge or more than one out edge. More... | |
std::set< std::vector< int > > | traversePath (int begin, int end, CFG *&g, bool loop=false) |
std::set< std::vector< int > > | uTraversePath (int begin, int end, CFG *&g, bool loop, std::map< int, std::vector< std::vector< int > > > &localLoops) |
This function calculates all the permutations of loops on paths it also throws away duplicate paths Input: More... | |
std::vector< std::vector< int > > | bfsTraversePath (int begin, int end, CFG *&g, bool loop=false) |
The function responsible for collecting all paths without loops, and all paths within lops that do not include other loops then sending those to uTraverse to assemble them into all paths with any combination of loops Input: More... | |
std::vector< int > | unzipPath (std::vector< int > &path, CFG *&g, int start, int end) |
unzips the paths zipped by zipPath Input: More... | |
std::vector< int > | zipPath (std::vector< int > &path, CFG *&g, int start, int end) |
Condenses paths to simply the first and last node and the ordered set of edges taken at nodes with more than 1 outedge Input: More... | |
std::vector< int > | zipPath2 (std::vector< int > &path, CFG *&g) |
Condenses paths, currently deprecated... More... | |
void | printCFGNode (int &cf, std::ofstream &o) |
void | printCFGNodeGeneric (int &cf, std::string prop, std::ofstream &o) |
void | printCFGEdge (int &cf, CFG *&cfg, std::ofstream &o) |
void | printHotness (CFG *&g) |
void | printPathDot (CFG *&g) |
void | computeOrder (CFG *&g, const int &begin) |
DEPRECATED Currently unused but will be necessary for parallelization in progress SgGraphTraversal::computeOrder More... | |
void | computeSubGraphs (const int &begin, const int &end, CFG *&g, int depthDifferential) |
DEPRECATED This is a function to construct subgraphs for parallelization SgGraphTraversal::computeSubGraphs Input: More... | |
void | getVertexPath (std::vector< int > path, CFG *&g, std::vector< Vertex > &vertexPath) |
Converts the path calculated by this algorithm to Vertices so users can access data SgGraphTraversal::getVertexPath. More... | |
void | storeCompact (std::vector< int > path) |
DEPRECATED Currently unused, may eventually be modified for optimal storage purposes SgGraphTraversal::storeCompact. More... | |
SynthesizedAttributeType | traversalResult () |
void | solvePaths (SgIncidenceDirectedGraph *g, SgGraphNode *n, SgGraphNode *endnode) |
void | evaluatePaths (SgIncidenceDirectedGraph *g, SgGraphNode *realstartnode, SgGraphNode *endnode) |
void | evaluatePathsPar (SgIncidenceDirectedGraph *g, SgGraphNode *realstartnode, SgGraphNode *endnode) |
bool | disjoint (std::vector< SgGraphNode * > &path, std::vector< SgGraphNode * > &vec2) const |
bool | canSolve (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
void | computeOrder (SgIncidenceDirectedGraph *g, SgGraphNode *n, SgGraphNode *endnode) |
void | computeInheritedOrdered (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
std::pair< bool, SgGraphNode * > | getNextPar (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
std::pair< bool, SgGraphNode * > | getNextChild (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
bool | computable (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
void | evalNodeOrdered (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
bool | canEval (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
void | setPathVal (SgIncidenceDirectedGraph *g, SgGraphNode *n) |
void | printNodePlusEdgesForAnalysis (SgIncidenceDirectedGraph *g, SgGraphNode *n, int loopNum, int pathVal, std::ofstream &ss) |
void | printNodePlusEdgesForAnalysisPath (SgIncidenceDirectedGraph *g, std::vector< SgGraphNode * > n, int loopNum, int pathVal, std::ofstream &ss) |
void | printNodeForAnalysis (SgGraphNode *n, int loopNum, int pathNum, std::ofstream &ss) |
void | printEdgeForAnalysis (SgDirectedGraphEdge *e, bool isNullEdge, std::ofstream &ss) |
void | printEdgeForAnalysisPath (SgGraphNode *g1, SgGraphNode *g2, std::ofstream &ss) |
Private Attributes | |
int | normals |
int | abnormals |
bool | needssafety |
int | recursed |
int | checkedfound |
int | stoppedpaths |
std::vector< int > | sources |
std::vector< int > | sinks |
std::vector< int > | recursiveLoops |
std::vector< int > | recurses |
std::map< int, int > | ptsNum |
bool | borrowed |
std::set< int > | badloop |
std::map< int, std::vector < std::vector< int > > > | totalLoops |
std::map< int, std::string > | nodeStrings |
int | sourcenum |
unsigned long long | evaledpaths |
int | badpaths |
int | workingthreadnum |
bool | workingthread |
std::map< int, std::set < std::vector< int > > > | loopStore |
std::vector< std::vector< int > > | pathStore |
std::map< int, std::vector< int > > | subpathglobal |
std::map< std::vector< int >, int > | subpathglobalinv |
int | nextsubpath |
std::vector< int > | orderOfNodes |
std::vector< std::map< Vertex, Vertex > > | SubGraphGraphMap |
std::vector< std::map< Vertex, Vertex > > | GraphSubGraphMap |
std::vector< CFG * > | subGraphVector |
int | nextNode |
int | nextEdge |
std::vector< int > | markers |
std::vector< int > | closures |
std::map< int, int > | markerIndex |
std::map< int, std::vector< int > > | pathsAtMarkers |
bool | bound |
double | distime |
std::set< SgGraphNode * > | ploops |
std::map< SgGraphNode *, std::set< std::vector < SgGraphNode * > > > | lpbegins |
std::map< SgGraphNode *, int > | frksLeft |
int | currm |
int | dpMax |
int | repEval |
bool | pathCheck |
int | pathsSize |
std::map< SgGraphNode *, InheritedAttributeType > | known |
std::vector < InheritedAttributeType > | connectNodes |
std::map< SgGraphNode *, bool > | solved |
std::set< SgGraphNode * > | solvedset |
SynthesizedAttributesList * | synthesizedAttributes |
std::map< SgGraphNode *, int > | nodeInEdgesNum |
int | currprime |
std::vector< SgGraphNode * > | endnodefakes |
std::map< SgGraphNode *, std::vector< std::vector < SgGraphNode * > > > | pathsAtMk |
std::set< SgGraphNode * > | mkloops |
std::map< SgGraphNode *, std::set< std::vector < SgGraphNode * > > > | mkloopmap |
std::map< SgGraphNode *, std::set< std::vector < SgGraphNode * > > > | subPathsAtMk |
std::vector< SgGraphNode * > | mkglobal |
std::vector< SgGraphNode * > | clglobal |
bool | inseparable |
std::vector< std::set < SgGraphNode * > > | closuresVec |
std::set< std::vector < SgGraphNode * > > | flatpaths |
std::map< SgGraphNode *, InheritedAttributeType > | inhVals |
std::set< SgDirectedGraphEdge * > | seenEdges |
std::set< SgDirectedGraphEdge * > | nullEdges |
std::set< SgGraphNode * > | clsT |
std::map< SgGraphNode *, int > | oVals |
std::set< SgGraphNode * > | completedNodesPath |
std::set< std::pair < SgGraphNode *, SgGraphNode * > > | completedEdgesPath |
std::map< int, SgGraphNode * > | iVals |
std::set< SgDirectedGraphEdge * > | nullEdgesOrderedOut |
std::set< SgDirectedGraphEdge * > | completedEdgesOut |
std::set< SgDirectedGraphEdge * > | completedEdges |
std::set< SgGraphNode * > | compPar |
std::set< SgGraphNode * > | compChild |
std::set< SgGraphNode * > | computedNodes |
SgGraphNode * | st |
SgGraphNode * | en |
double | fllp |
int | loopnum |
Definition at line 80 of file graphProcessing.h.
typedef boost::graph_traits<CFG>::vertex_descriptor SgGraphTraversal< CFG >::Vertex |
Definition at line 84 of file graphProcessing.h.
typedef boost::graph_traits<CFG>:: edge_descriptor SgGraphTraversal< CFG >::Edge |
Definition at line 85 of file graphProcessing.h.
|
private |
Definition at line 174 of file graphProcessing.h.
|
private |
Definition at line 175 of file graphProcessing.h.
|
private |
Definition at line 176 of file graphProcessing.h.
|
private |
Definition at line 177 of file graphProcessing.h.
typedef StackFrameVector<SynthesizedAttributeType> SgGraphTraversal< CFG >::SynthesizedAttributesList |
Definition at line 137 of file graphProcessingSgIncGraph.h.
SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::SgGraphTraversal | ( | ) |
Definition at line 190 of file graphProcessing.h.
|
virtual |
Definition at line 208 of file graphProcessing.h.
SgGraphTraversal< CFG >::SgGraphTraversal | ( | SgGraphTraversal< CFG > & | ) |
|
virtual |
SgGraphTraversal< CFG >::SgGraphTraversal | ( | ) |
SgGraphTraversal< CFG >::SgGraphTraversal | ( | const SgGraphTraversal< CFG > & | ) |
void SgGraphTraversal< CFG >::constructPathAnalyzer | ( | CFG * | g, |
bool | unbounded = false , |
||
Vertex | begin = 0 , |
||
Vertex | end = 0 , |
||
bool | ns = true |
||
) |
This is the function that is used by the user directly to start the algorithm.
It is immediately available to the user
SgGraphTraversal::constructPathAnalyzer Input:
Definition at line 1103 of file graphProcessing.h.
Referenced by yicesCheck().
|
pure virtual |
std::vector< int > SgGraphTraversal< CFG >::getInEdges | ( | int & | node, |
CFG *& | g | ||
) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getInEdges Input:
node] | int, integer representation of the node to get the in edges from |
g] | CFG* g, CFG |
Definition at line 261 of file graphProcessing.h.
References edgeintmap.
std::vector< int > SgGraphTraversal< CFG >::getOutEdges | ( | int & | node, |
CFG *& | g | ||
) |
Gets out edges with integer inputs, internal use only SgGraphTraversal::getOutEdges Input:
node] | int, integer representation of the node to get the out edges from |
g] | CFG* g, CFG |
Definition at line 286 of file graphProcessing.h.
References edgeintmap.
|
inline |
Gets the target of an edge SgGraphTraversal::getTarget Input:
edge] | int& integer representation of edge in quesution |
g] | the CFG*& CFG used |
Definition at line 243 of file graphProcessing.h.
References intedgemap.
|
inline |
Gets the source of an edge SgGraphTraversal::getSource Input:
edge] | int& integer representation of edge in question |
g] | CFG*& the CFG used |
Definition at line 224 of file graphProcessing.h.
References intedgemap.
SgGraphTraversal< CFG > & SgGraphTraversal< CFG >::operator= | ( | SgGraphTraversal< CFG > & | other) |
Definition at line 199 of file graphProcessing.h.
void SgGraphTraversal< CFG >::firstPrepGraph | ( | CFG *& | g) |
DEPRECATED This is the function that preps the graph for traversal, currently this one isn't used but for many traversals on one visitor may necessitate.
SgGraphTraversal::firstPrepGraph Input:
g] | CFG*& g, CFG calculated previously |
Definition at line 1351 of file graphProcessing.h.
|
private |
This is the function that preps the graph for traversal.
SgGraphTraversal::prepareGraph Input:
g] | CFG*& g, CFG calculated previously |
Definition at line 1330 of file graphProcessing.h.
|
private |
This calculates nodes with more than one in edge or more than one out edge.
SgGraphTraversal::findClosuresAndMarkers Input:
g] | CFG*& g, CFG calculated previously |
Definition at line 1371 of file graphProcessing.h.
References edgeintmap, getTarget(), and intedgemap.
|
private |
|
private |
This function calculates all the permutations of loops on paths it also throws away duplicate paths Input:
begin] | integer representation of first node |
end] | integer representation of the final node |
g] | ambient CFG |
globalLoopPaths] | connects an integer representation of a node to all possible loops starting at that node |
Definition at line 737 of file graphProcessing.h.
References VirtualCFG::iterator::begin(), VirtualCFG::iterator::end(), SageInterface::find(), pathnum, and paths.
|
private |
The function responsible for collecting all paths without loops, and all paths within lops that do not include other loops then sending those to uTraverse to assemble them into all paths with any combination of loops Input:
begin] | integer representation of the first node |
end] | integer representation of the last node (or -1 if its not bounded) |
g] | CFG*, the ambient CFG |
loop] | boolean expressing whether or not we are calculating paths contained within a loop |
Definition at line 442 of file graphProcessing.h.
References VirtualCFG::iterator::begin(), VirtualCFG::iterator::end(), SageInterface::find(), getTarget(), and paths.
|
private |
unzips the paths zipped by zipPath Input:
pzipped] | the zipped path |
CFG] | the ambient graph |
start] | the integer representation of the first node (used to check that zipPath is working correctly) |
end] | the integer representation of the end node |
Definition at line 373 of file graphProcessing.h.
References getSource(), and getTarget().
|
private |
Condenses paths to simply the first and last node and the ordered set of edges taken at nodes with more than 1 outedge Input:
pth] | std::vector<int>, the original path |
g] | CFG*, the ambient graph |
start] | integer representation of the first node |
end] | integer representation of the last node |
Definition at line 337 of file graphProcessing.h.
References SageInterface::find(), and getTarget().
|
inlineprivate |
Condenses paths, currently deprecated...
Input:
pth] | std::vector<int> the original path |
g] | CFG*, the ambient graph Output: zipped path |
Definition at line 311 of file graphProcessing.h.
References SageInterface::find().
|
private |
Definition at line 1232 of file graphProcessing.h.
|
private |
Definition at line 1224 of file graphProcessing.h.
|
private |
Definition at line 1249 of file graphProcessing.h.
References getSource(), and getTarget().
|
private |
Definition at line 1259 of file graphProcessing.h.
References edgeintmap.
|
private |
Definition at line 1286 of file graphProcessing.h.
References edgeintmap.
|
private |
DEPRECATED
Currently unused but will be necessary for parallelization in progress SgGraphTraversal::computeOrder
g] | CFG* cfg in question [begin] const int, integer representation of source node |
Definition at line 1424 of file graphProcessing.h.
References getTarget(), StaticCFG::inEdges(), and StaticCFG::outEdges().
|
private |
DEPRECATED
This is a function to construct subgraphs for parallelization SgGraphTraversal::computeSubGraphs Input:
begin] | const int, starting point |
end] | const int ending point |
g] | const CFG*, control flow graph to compute |
depthDifferential] | int, used to specify how large the subgraph should be |
Definition at line 1168 of file graphProcessing.h.
References getTarget(), and StaticCFG::outEdges().
|
private |
Converts the path calculated by this algorithm to Vertices so users can access data SgGraphTraversal::getVertexPath.
path] | integer representation of path |
g] | CFG*, cfg in question |
vertexPath] | for some reason this can't be a return value so it is changed via pass by reference |
Definition at line 1492 of file graphProcessing.h.
|
private |
DEPRECATED Currently unused, may eventually be modified for optimal storage purposes SgGraphTraversal::storeCompact.
compactPath] | path to be compactified |
Definition at line 1510 of file graphProcessing.h.
const SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType > & SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::operator= | ( | const SgGraphTraversal< CFG > & | other) |
Definition at line 330 of file graphProcessingSgIncGraph.h.
References StackFrameVector< T >::deepCopy(), and SgGraphTraversal< CFG >::synthesizedAttributes.
InheritedAttributeType SgGraphTraversal< InheritedAttributeType, SynthesizedAttributeType >::traverse | ( | SgGraphNode * | n, |
SgIncidenceDirectedGraph * | g, | ||
InheritedAttributeType | inheritedValue, | ||
InheritedAttributeType | nullI, | ||
SgGraphNode * | endnode, | ||
bool | insep = false , |
||
bool | pCh = false |
||
) |
This is the function that is used by the user directly to start the algorithm.
It is immediately available to the user
SgGraphTraversal::traverse Input:
n] | n starting node |
g] | SgIncidenceDirectedGraph* g, CFG calculated previously |
inheritedValue] | InheritedAttributeType inheritedValue, value of the starting node |
nullI] | InheritedAttributeType nullI, value of the null Attribute, i.e. what to attribute to a node with no value\ |
endnode] | SgGraphNode* endnode, final node |
insep] | boolean to decide inseparability of the analysis function, not yet in use, set automatically to false |
pCh] | deprecated, set to false |
Definition at line 360 of file graphProcessingSgIncGraph.h.
References getCPUTime(), and timeDifference().
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protected |
Definition at line 1595 of file graphProcessingSgIncGraph.h.
|
private |
|
private |
Definition at line 1435 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn(), SgIncidenceDirectedGraph::computeEdgeSetOut(), SageInterface::find(), and SgDirectedGraphEdge::get_to().
|
private |
Definition at line 1059 of file graphProcessingSgIncGraph.h.
References Bot::currpth, VirtualCFG::iterator::end(), SageInterface::find(), getCPUTime(), Bot::path, Bot::pthloops, rounds, and timeDifference().
|
private |
Definition at line 694 of file graphProcessingSgIncGraph.h.
References Bot::currpth, VirtualCFG::iterator::end(), SageInterface::find(), getCPUTime(), Bot::on, Bot::path, Bot::pthloops, Bot::remove, rounds, and timeDifference().
|
private |
Definition at line 531 of file graphProcessingSgIncGraph.h.
References SageInterface::find().
|
private |
Definition at line 672 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1607 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 1673 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 1810 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1759 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetOut().
|
private |
Definition at line 1653 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1709 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1691 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1735 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetIn().
|
private |
Definition at line 1358 of file graphProcessingSgIncGraph.h.
References SgIncidenceDirectedGraph::computeEdgeSetOut(), and StaticCFG::outEdges().
|
private |
Definition at line 1374 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 1399 of file graphProcessingSgIncGraph.h.
References SgGraphNode::get_index().
|
private |
Definition at line 1413 of file graphProcessingSgIncGraph.h.
References SgDirectedGraphEdge::get_from(), SgGraphNode::get_index(), and SgDirectedGraphEdge::get_to().
|
private |
Definition at line 1424 of file graphProcessingSgIncGraph.h.
References SgGraphNode::get_index().
std::map<Vertex, int> SgGraphTraversal< CFG >::vertintmap |
Definition at line 93 of file graphProcessing.h.
std::map<Edge, int> SgGraphTraversal< CFG >::edgeintmap |
Definition at line 94 of file graphProcessing.h.
std::map<int, Vertex> SgGraphTraversal< CFG >::intvertmap |
Definition at line 95 of file graphProcessing.h.
std::map<int, Edge> SgGraphTraversal< CFG >::intedgemap |
Definition at line 96 of file graphProcessing.h.
int SgGraphTraversal< CFG >::pathnum |
Definition at line 101 of file graphProcessing.h.
|
private |
Definition at line 108 of file graphProcessing.h.
|
private |
Definition at line 109 of file graphProcessing.h.
|
private |
Definition at line 110 of file graphProcessing.h.
|
private |
Definition at line 111 of file graphProcessing.h.
|
private |
Definition at line 112 of file graphProcessing.h.
|
private |
Definition at line 122 of file graphProcessing.h.
|
private |
Definition at line 138 of file graphProcessing.h.
|
private |
Definition at line 139 of file graphProcessing.h.
|
private |
Definition at line 140 of file graphProcessing.h.
|
private |
Definition at line 141 of file graphProcessing.h.
|
private |
Definition at line 142 of file graphProcessing.h.
|
private |
Definition at line 143 of file graphProcessing.h.
|
private |
Definition at line 144 of file graphProcessing.h.
|
private |
Definition at line 145 of file graphProcessing.h.
|
private |
Definition at line 147 of file graphProcessing.h.
|
private |
Definition at line 148 of file graphProcessing.h.
|
private |
Definition at line 149 of file graphProcessing.h.
|
private |
Definition at line 150 of file graphProcessing.h.
|
private |
Definition at line 151 of file graphProcessing.h.
|
private |
Definition at line 152 of file graphProcessing.h.
|
private |
Definition at line 153 of file graphProcessing.h.
|
private |
Definition at line 154 of file graphProcessing.h.
|
private |
Definition at line 155 of file graphProcessing.h.
|
private |
Definition at line 156 of file graphProcessing.h.
|
private |
Definition at line 157 of file graphProcessing.h.
|
private |
Definition at line 158 of file graphProcessing.h.
|
private |
Definition at line 163 of file graphProcessing.h.
|
private |
Definition at line 164 of file graphProcessing.h.
|
private |
Definition at line 165 of file graphProcessing.h.
|
private |
Definition at line 168 of file graphProcessing.h.
|
private |
Definition at line 169 of file graphProcessing.h.
|
private |
Definition at line 170 of file graphProcessing.h.
|
private |
Definition at line 171 of file graphProcessing.h.
|
private |
Definition at line 172 of file graphProcessing.h.
|
private |
Definition at line 173 of file graphProcessing.h.
|
private |
Definition at line 178 of file graphProcessing.h.
std::set<std::map<int, std::set<int> > > SgGraphTraversal< CFG >::subpathmap |
Definition at line 119 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::loopNum |
Definition at line 120 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::nullNum |
Definition at line 121 of file graphProcessingSgIncGraph.h.
std::set<SgDirectedGraphEdge*> SgGraphTraversal< CFG >::nullEdgesOrdered |
Definition at line 122 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::loopNumMap |
Definition at line 123 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::pathValMap |
Definition at line 124 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::nullloops |
Definition at line 125 of file graphProcessingSgIncGraph.h.
std::vector<std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::looppaths |
Definition at line 126 of file graphProcessingSgIncGraph.h.
std::vector<std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::iLoops |
Definition at line 127 of file graphProcessingSgIncGraph.h.
std::vector<SgGraphNode*> SgGraphTraversal< CFG >::ifstatements |
Definition at line 128 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::nullEdgesPaths |
Definition at line 132 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::turns |
Definition at line 133 of file graphProcessingSgIncGraph.h.
int SgGraphTraversal< CFG >::numnodes |
Definition at line 142 of file graphProcessingSgIncGraph.h.
SgGraphNode* SgGraphTraversal< CFG >::nullnode |
Definition at line 145 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, int> SgGraphTraversal< CFG >::primenode |
Definition at line 146 of file graphProcessingSgIncGraph.h.
bool SgGraphTraversal< CFG >::done |
Definition at line 147 of file graphProcessingSgIncGraph.h.
std::set<SgGraphNode*> SgGraphTraversal< CFG >::lstN |
Definition at line 149 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, std::vector<std::set<int> > > SgGraphTraversal< CFG >::lstordmap |
Definition at line 150 of file graphProcessingSgIncGraph.h.
std::set<SgGraphNode*> SgGraphTraversal< CFG >::solvedLoops |
Definition at line 151 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, std::vector<SgGraphNode*> > SgGraphTraversal< CFG >::checkednodes |
Definition at line 152 of file graphProcessingSgIncGraph.h.
std::map<SgGraphNode*, std::set<SgGraphNode*> > SgGraphTraversal< CFG >::downed |
Definition at line 153 of file graphProcessingSgIncGraph.h.
InheritedAttributeType SgGraphTraversal< CFG >::nullInherit |
Definition at line 157 of file graphProcessingSgIncGraph.h.
std::set<SgGraphNode*> SgGraphTraversal< CFG >::loopSet |
Definition at line 162 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 187 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 190 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 191 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 192 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 193 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 194 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 195 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 196 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 197 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 201 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 202 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 203 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 204 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 206 of file graphProcessingSgIncGraph.h.
Referenced by SgGraphTraversal< CFG >::operator=().
|
private |
Definition at line 213 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 214 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 215 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 216 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 217 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 218 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 219 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 220 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 221 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 222 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 224 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 228 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 231 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 232 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 233 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 234 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 241 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 247 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 248 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 251 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 253 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 254 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 255 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 256 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 257 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 258 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 259 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 260 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 261 of file graphProcessingSgIncGraph.h.
|
private |
Definition at line 262 of file graphProcessingSgIncGraph.h.