#include <dominators.h>
Public Types | |
typedef vector< basicblockNode *> | basicblock_vec |
typedef map< basicblockNode *, int > | index_map |
typedef map< basicblockNode *, basicblockNode *> | basicblock_map |
typedef map< basicblockNode *, basicblock_bitset > | basicblockset_map |
Public Methods | |
Dominators (procNode *proc, bool forward) | |
~Dominators () | |
void | print () |
Static Public Methods | |
bool | dominates (basicblockNode *A, basicblockNode *B) |
Private Methods | |
void | dominator_tree () |
void | depth_first_search (basicblockNode *node, basicblockNode *par) |
void | compress (basicblockNode *v) |
basicblockNode * | eval (basicblockNode *v) |
void | link (basicblockNode *v, basicblockNode *w) |
Private Attributes | |
procNode * | _proc |
basicblockNode * | _root |
const bool | _forward |
index_map | node_index |
basicblock_vec | df_vec |
int | _index |
Static Private Attributes | |
basicblockNode * | None = 0 |
Friends | |
class | dominator_info |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|