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

binaryNodeassignment (stmtNode *s)
idNodelhs (stmtNode *s)
callNodephi (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