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

ipConstantPropagation Class Reference

#include <ipconstants.h>

Inheritance diagram for ipConstantPropagation::

analysisProblem List of all members.

Public Methods

 ipConstantPropagation (bool debug=false)
virtual bool assignment (const Path *where, memoryDef *left_hand_side, analysisVal *right_hand_side, bool is_strong_update)
virtual analysisVal * lookup (memoryBlock *block, memoryUse *use)
virtual analysisVal * lookup (constNode *con)
virtual analysisVal * lookup (const string &field_name)
virtual void free (analysisVal *to_free)
virtual analysisVal * top ()
virtual analysisVal * bottom ()
virtual analysisVal * binary_operator (const Operator *op, const analysisVal *left_operand, const analysisVal *right_operand)
virtual analysisVal * unary_operator (const Operator *op, const analysisVal *operand)
virtual analysisVal * cast_operator (const typeNode *type, const analysisVal *operand)
void stats ()

Private Methods

void allocate (ipConstant *ic)
ipConstant * clone (analysisVal *to_clone)

Private Attributes

const_variables_map _values
constants_map _constants
enums_map _enums
ipConstant * _top
ipConstant * _bottom
bool _debug
ipconstant_set _deleted
int _count

Constructor & Destructor Documentation

ipConstantPropagation::ipConstantPropagation (  bool    debug = false )  [inline]
 


Member Function Documentation

void ipConstantPropagation::allocate (  ipConstant *    ic )  [inline, private]
 

bool ipConstantPropagation::assignment (  const Path *    where,
memoryDef *    left_hand_side,
analysisVal *    ipa_rhs,
bool    is_strong_update
)  [virtual]
 

analysisVal * ipConstantPropagation::binary_operator (  const Operator *    op,
const analysisVal *    left_operand,
const analysisVal *    right_operand
)  [virtual]
 

analysisVal * ipConstantPropagation::bottom (    )  [virtual]
 

analysisVal * ipConstantPropagation::cast_operator (  const typeNode *    type,
const analysisVal *    operand
)  [virtual]
 

ipConstant * ipConstantPropagation::clone (  analysisVal *    to_clone )  [private]
 

void ipConstantPropagation::free (  analysisVal *    to_free )  [virtual]
 

analysisVal * ipConstantPropagation::lookup (  const string &    field_name )  [virtual]
 

analysisVal * ipConstantPropagation::lookup (  constNode *    con )  [virtual]
 

analysisVal * ipConstantPropagation::lookup (  memoryBlock *    block,
memoryUse *    use
)  [virtual]
 

void ipConstantPropagation::stats (    ) 
 

analysisVal * ipConstantPropagation::top (    )  [virtual]
 

analysisVal * ipConstantPropagation::unary_operator (  const Operator *    op,
const analysisVal *    operand
)  [virtual]
 


Member Data Documentation

ipConstant* ipConstantPropagation::_bottom [private]
 

constants_map ipConstantPropagation::_constants [private]
 

int ipConstantPropagation::_count [private]
 

bool ipConstantPropagation::_debug [private]
 

ipconstant_set ipConstantPropagation::_deleted [private]
 

enums_map ipConstantPropagation::_enums [private]
 

ipConstant* ipConstantPropagation::_top [private]
 

const_variables_map ipConstantPropagation::_values [private]
 


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