#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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|