CACAO
|
This helper class creates traversal for a graph. More...
Data Structures | |
class | iterator |
Public Types | |
typedef alloc::set< iterator > ::type | iterator_list |
typedef iterator | reverse_iterator |
Public Member Functions | |
DFSTraversal (_NodeTy *entry) | |
int | size () const |
_NodeTy * | operator[] (unsigned i) const |
int | operator[] (_NodeTy *v) const |
int | num_decendants (int v) const |
bool | is_ancestor (int v, int w) const |
bool | is_decendant (int w, int v) const |
iterator | begin () |
iterator | end () |
reverse_iterator | rbegin () |
reverse_iterator | rend () |
Private Types | |
typedef alloc::vector< _NodeTy * > ::type | NodeMapTy |
typedef alloc::map< _NodeTy *, int >::type | IndexMapTy |
typedef alloc::vector< int >::type | ParentMapTy |
typedef alloc::vector< int >::type | DecendantMapTy |
typedef alloc::set< _NodeTy * > ::type | NodeListTy |
typedef alloc::set< int >::type | SuccessorListTy |
typedef alloc::vector < SuccessorListTy >::type | SuccessorListMapTy |
Private Member Functions | |
NodeListTy & | successor (_NodeTy *v, NodeListTy &list) |
int | num_nodes (_NodeTy *v) const |
int | dfs (_NodeTy *v) |
template<> | |
DFSTraversal< BeginInst > ::NodeListTy & | successor (BeginInst *v, NodeListTy &list) |
template<> | |
int | num_nodes (BeginInst *v) const |
template<> | |
DFSTraversal < MachineBasicBlock > ::NodeListTy & | successor (MachineBasicBlock *v, NodeListTy &list) |
template<> | |
int | num_nodes (MachineBasicBlock *v) const |
template<> | |
DFSTraversal< BeginInst > ::NodeListTy & | successor (BeginInst *v, NodeListTy &list) |
template<> | |
int | num_nodes (BeginInst *v) const |
Private Attributes | |
NodeMapTy | vertex |
IndexMapTy | index |
ParentMapTy | parent |
SuccessorListMapTy | succ |
DecendantMapTy | number_decendants |
int | n |
int | _size |
Friends | |
class | DFSTraversal::iterator |
This helper class creates traversal for a graph.
The only information required from the graph is the successor relation successor() and number of vertices num_nodes.
Definition at line 51 of file GraphHelper.hpp.
|
private |
Definition at line 56 of file GraphHelper.hpp.
|
private |
Definition at line 54 of file GraphHelper.hpp.
typedef alloc::set<iterator>::type cacao::jit::compiler2::DFSTraversal< _NodeTy >::iterator_list |
Definition at line 77 of file GraphHelper.hpp.
|
private |
Definition at line 58 of file GraphHelper.hpp.
|
private |
Definition at line 53 of file GraphHelper.hpp.
|
private |
Definition at line 55 of file GraphHelper.hpp.
typedef iterator cacao::jit::compiler2::DFSTraversal< _NodeTy >::reverse_iterator |
Definition at line 234 of file GraphHelper.hpp.
|
private |
Definition at line 60 of file GraphHelper.hpp.
|
private |
Definition at line 59 of file GraphHelper.hpp.
|
inlineexplicit |
Definition at line 80 of file GraphHelper.hpp.
|
inline |
Definition at line 236 of file GraphHelper.hpp.
|
private |
Definition at line 256 of file GraphHelper.hpp.
|
inline |
Definition at line 240 of file GraphHelper.hpp.
|
inline |
Definition at line 132 of file GraphHelper.hpp.
|
inline |
Definition at line 146 of file GraphHelper.hpp.
|
inline |
Definition at line 122 of file GraphHelper.hpp.
|
private |
Definition at line 61 of file GraphHelper.cpp.
|
private |
|
private |
Definition at line 75 of file GraphHelper.cpp.
|
private |
|
inline |
Definition at line 111 of file GraphHelper.hpp.
|
inline |
Definition at line 115 of file GraphHelper.hpp.
|
inline |
Definition at line 244 of file GraphHelper.hpp.
|
inline |
Definition at line 248 of file GraphHelper.hpp.
|
inline |
Definition at line 107 of file GraphHelper.hpp.
|
private |
Definition at line 41 of file GraphHelper.cpp.
|
private |
Definition at line 68 of file GraphHelper.cpp.
|
private |
|
private |
|
friend |
Definition at line 252 of file GraphHelper.hpp.
|
private |
Definition at line 69 of file GraphHelper.hpp.
|
private |
Definition at line 63 of file GraphHelper.hpp.
|
private |
Definition at line 68 of file GraphHelper.hpp.
|
private |
Definition at line 66 of file GraphHelper.hpp.
|
private |
Definition at line 64 of file GraphHelper.hpp.
|
private |
Definition at line 65 of file GraphHelper.hpp.
|
private |
Definition at line 62 of file GraphHelper.hpp.