C-Breeze
C Compiler Infrastructure

[ Project home page]
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

copyFlowVal Class Reference

List of all members.

Public Member Functions

 copyFlowVal (threeAddr_set copy_stmts, threeAddr_set ambiguous_defs)
 the constructor.

 ~copyFlowVal (void)
void to_top (void)
 set this flow value to top (i.e., the empty set)

void to_bottom (void)
copyFlowVal * clone (void) const
 get a clone of this flow value

threeAddr_set stmts (void)
bool diff (copyFlowVal *other) const
 returns true iff the two flow values differ

bool in (threeAddrNode *s)
bool in (int i) const
void insert (threeAddrNode *s)
 insert a definition into the set, by a pointer to the definition

void insert (int i)
 insert a definition into the set, by the index of the definition

void remove (threeAddrNode *s)
 remove a definition from the set, by a pointer to the definition

void remove (int i)
 remove a definition from the set, by the index of the definition

void copy (copyFlowVal *other)
 make this flow value a copy of the parameter

void Union (const copyFlowVal *v)
 set this definition to the union of itself with the parameter

void Intersect (const copyFlowVal *v)
 set this definition to the intersection of itself with the parameter

void Difference (copyFlowVal *other)
void meet (const copyFlowVal *v)
 meet operator (union for reaching definitions)

void print ()

Static Public Member Functions

void clear_dummies ()

Private Attributes

map< threeAddrNode *, int > def2num
map< int, threeAddrNode * > num2def
int size
Bitsbits

Static Private Attributes

threeAddr_set dummies

Constructor & Destructor Documentation

copyFlowVal::copyFlowVal threeAddr_set    copy_stmts,
threeAddr_set    ambiguous_defs
[inline]
 

the constructor.

Definition at line 97 of file copyprop.cc.

References copyPropChanger::decl_set, copyPropChanger::decl_set_p, and copyPropChanger::threeAddr_set_p.

copyFlowVal::~copyFlowVal void    [inline]
 

Definition at line 127 of file copyprop.cc.


Member Function Documentation

void copyFlowVal::clear_dummies   [inline, static]
 

Definition at line 204 of file copyprop.cc.

References copyPropChanger::threeAddr_set_p.

copyFlowVal* copyFlowVal::clone void    const [inline]
 

get a clone of this flow value

Definition at line 135 of file copyprop.cc.

References Bits::clone().

Referenced by copyPropChanger::at_proc(), copyPropChanger::create_copy_set(), copyPropChanger::create_kill_set(), and copyPropChanger::solve_global_dataflow().

void copyFlowVal::copy copyFlowVal *    other [inline]
 

make this flow value a copy of the parameter

Definition at line 177 of file copyprop.cc.

References Bits::copy().

Referenced by copyPropChanger::solve_global_dataflow().

bool copyFlowVal::diff copyFlowVal *    other const [inline]
 

returns true iff the two flow values differ

Definition at line 150 of file copyprop.cc.

References Bits::value().

Referenced by copyPropChanger::solve_global_dataflow().

void copyFlowVal::Difference copyFlowVal *    other [inline]
 

Definition at line 187 of file copyprop.cc.

References Bits::And(), Bits::copy(), and Bits::Not().

Referenced by copyPropChanger::solve_global_dataflow().

bool copyFlowVal::in int    i const [inline]
 

Definition at line 162 of file copyprop.cc.

References Bits::value().

bool copyFlowVal::in threeAddrNode   s [inline]
 

Definition at line 159 of file copyprop.cc.

References Bits::value().

void copyFlowVal::insert int    i [inline]
 

insert a definition into the set, by the index of the definition

Definition at line 168 of file copyprop.cc.

References Bits::set().

void copyFlowVal::insert threeAddrNode   s [inline]
 

insert a definition into the set, by a pointer to the definition

Definition at line 165 of file copyprop.cc.

References Bits::set().

Referenced by copyPropChanger::create_copy_set(), and copyPropChanger::create_kill_set().

void copyFlowVal::Intersect const copyFlowVal *    v [inline]
 

set this definition to the intersection of itself with the parameter

Definition at line 183 of file copyprop.cc.

References Bits::And().

Referenced by copyPropChanger::solve_global_dataflow().

void copyFlowVal::meet const copyFlowVal *    v [inline]
 

meet operator (union for reaching definitions)

Definition at line 196 of file copyprop.cc.

References Union.

void copyFlowVal::print   [inline]
 

Definition at line 198 of file copyprop.cc.

void copyFlowVal::remove int    i [inline]
 

remove a definition from the set, by the index of the definition

Definition at line 174 of file copyprop.cc.

References Bits::set().

void copyFlowVal::remove threeAddrNode   s [inline]
 

remove a definition from the set, by a pointer to the definition

Definition at line 171 of file copyprop.cc.

References Bits::set().

threeAddr_set copyFlowVal::stmts void    [inline]
 

Definition at line 142 of file copyprop.cc.

References copyPropChanger::threeAddr_set.

void copyFlowVal::to_bottom void    [inline]
 

Definition at line 132 of file copyprop.cc.

References Bits::set_all().

Referenced by copyPropChanger::at_proc().

void copyFlowVal::to_top void    [inline]
 

set this flow value to top (i.e., the empty set)

Definition at line 130 of file copyprop.cc.

References Bits::reset_all().

Referenced by copyPropChanger::solve_global_dataflow().

void copyFlowVal::Union const copyFlowVal *    v [inline]
 

set this definition to the union of itself with the parameter

Definition at line 180 of file copyprop.cc.

References Bits::Or().

Referenced by copyPropChanger::solve_global_dataflow().


Member Data Documentation

Bits* copyFlowVal::bits [private]
 

Definition at line 90 of file copyprop.cc.

map<threeAddrNode*, int> copyFlowVal::def2num [private]
 

Definition at line 86 of file copyprop.cc.

copyPropChanger::threeAddr_set copyFlowVal::dummies [static, private]
 

Definition at line 211 of file copyprop.cc.

map<int, threeAddrNode*> copyFlowVal::num2def [private]
 

Definition at line 88 of file copyprop.cc.

int copyFlowVal::size [private]
 

Definition at line 89 of file copyprop.cc.


The documentation for this class was generated from the following file:

Generated on August 27, 2003
Back to the C-Breeze home page