#include <ssa.h>
Public Methods | |
| SSA (procNode *proc, bool forward=true, bool rename=true) | |
| void | print () |
| void | record_index (idNode *id) |
Static Public Methods | |
| binaryNode * | assignment (stmtNode *s) |
| idNode * | lhs (stmtNode *s) |
| callNode * | phi (stmtNode *s) |
| bool | add_phi_function (declNode *d, basicblockNode *block) |
Private Methods | |
| void | place_phi_functions () |
| void | rename () |
| void | search (basicblockNode *X) |
| int | which_pred (basicblockNode *node, basicblockNode *pred) |
| void | push_new_decl (declNode *de, int index) |
| void | rename_all_variables () |
| string | name_with_index (string &name, int index) |
Static Private Methods | |
| void | place_one_phi (declNode *d, basicblockNode *block) |
| int & | HasAlready (basicblockNode *n) |
| int & | Work (basicblockNode *n) |
Private Attributes | |
| const procNode * | _proc |
| basicblockNode * | _root |
| basicblock_list | _cfg |
| varstack_map | Stack |
| counter_map | Counter |
| var_changes | Changes |
| DominanceFrontiers | DF |
|
||||||||||||||||
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.2.13.1 written by Dimitri van Heesch,
© 1997-2001