Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

SSA Class Reference

#include <ssa.h>

List of all members.

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


Constructor & Destructor Documentation

SSA::SSA (  procNode *    proc,
bool    forward = true,
bool    do_renaming = true
) 
 


Member Function Documentation

bool SSA::add_phi_function (  declNode *    d,
basicblockNode *    block
)  [static]
 

binaryNode * SSA::assignment (  stmtNode *    s )  [static]
 

int& SSA::HasAlready (  basicblockNode *    n )  [inline, static, private]
 

idNode * SSA::lhs (  stmtNode *    s )  [static]
 

string SSA::name_with_index (  string &    name,
int    index
)  [private]
 

callNode * SSA::phi (  stmtNode *    s )  [static]
 

void SSA::place_one_phi (  declNode *    d,
basicblockNode *    block
)  [static, private]
 

void SSA::place_phi_functions (    )  [private]
 

void SSA::print (    )  [inline]
 

void SSA::push_new_decl (  declNode *    de,
int    index
)  [private]
 

void SSA::record_index (  idNode *    the_id ) 
 

void SSA::rename (    )  [private]
 

void SSA::rename_all_variables (    )  [private]
 

void SSA::search (  basicblockNode *    X )  [private]
 

int SSA::which_pred (  basicblockNode *    node,
basicblockNode *    pred
)  [private]
 

int& SSA::Work (  basicblockNode *    n )  [inline, static, private]
 


Member Data Documentation

basicblock_list SSA::_cfg [private]
 

const procNode* SSA::_proc [private]
 

basicblockNode* SSA::_root [private]
 

var_changes SSA::Changes [private]
 

counter_map SSA::Counter [private]
 

DominanceFrontiers SSA::DF [private]
 

varstack_map SSA::Stack [private]
 


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 12:06:33 2002 for C-Breeze by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001