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  

declSetFlowVal Class Reference

flow value for storing sets of declarations for use in dataflow analyses. top is empty set. meet is union, but can be overridden. Implemented to get def/use information, but can be used for other situations where you need sets of variable declarations. More...

#include <defuse.h>

Inheritance diagram for declSetFlowVal:

FlowVal List of all members.

Public Member Functions

virtual void meet (const FlowVal *v)
void to_top (void)
FlowValclone (void) const
bool diff (FlowVal *other) const
 declSetFlowVal (int n, map< var_id, int > *m, declNode **d)
 ~declSetFlowVal (void)
bool in (var_id id)
bool in (int i)
void insert (var_id id)
void insert (int i)
void copy (FlowVal *other)
void Union (const FlowVal *v)
void Difference (FlowVal *other)
void meet_and_diff (const FlowVal *other, FlowProblem &fp)

Private Attributes

int size
Bitsbits
map< var_id, int > * name2num
declNode ** decls

Detailed Description

flow value for storing sets of declarations for use in dataflow analyses. top is empty set. meet is union, but can be overridden. Implemented to get def/use information, but can be used for other situations where you need sets of variable declarations.

Definition at line 63 of file defuse.h.


Constructor & Destructor Documentation

declSetFlowVal::declSetFlowVal int    n,
map< var_id, int > *    m,
declNode **    d
[inline]
 

Definition at line 95 of file defuse.h.

References to_top().

Referenced by clone().

declSetFlowVal::~declSetFlowVal void    [inline]
 

Definition at line 103 of file defuse.h.


Member Function Documentation

FlowVal* declSetFlowVal::clone void    const [inline, virtual]
 

Implements FlowVal.

Definition at line 81 of file defuse.h.

References bits, Bits::clone(), and declSetFlowVal().

void declSetFlowVal::copy FlowVal   other [inline]
 

Definition at line 123 of file defuse.h.

References Bits::copy().

bool declSetFlowVal::diff FlowVal   other const [inline, virtual]
 

Implements FlowVal.

Definition at line 87 of file defuse.h.

References bits, and Bits::value().

void declSetFlowVal::Difference FlowVal   other [inline]
 

Definition at line 134 of file defuse.h.

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

bool declSetFlowVal::in int    i [inline]
 

Definition at line 111 of file defuse.h.

References Bits::value().

bool declSetFlowVal::in var_id    id [inline]
 

Definition at line 107 of file defuse.h.

References Bits::value().

Referenced by DefUseWalker::at_basicblock(), fixPointerWalker::dfs_used(), DefUseWalker::get_def(), and DefUseWalker::get_uses().

void declSetFlowVal::insert int    i [inline]
 

Definition at line 119 of file defuse.h.

References Bits::set().

void declSetFlowVal::insert var_id    id [inline]
 

Definition at line 115 of file defuse.h.

References Bits::set().

Referenced by fixPointerWalker::dfs_used(), DefUseWalker::get_def(), and DefUseWalker::get_uses().

virtual void declSetFlowVal::meet const FlowVal   v [inline, virtual]
 

Implements FlowVal.

Definition at line 73 of file defuse.h.

References Union().

void FlowVal::meet_and_diff const FlowVal   other,
FlowProblem   fp
[inherited]
 

Definition at line 98 of file dataflow.cc.

References FlowProblem::changed(), FlowVal::clone(), FlowVal::diff(), and FlowVal::meet().

Referenced by whileNode::dataflow(), switchNode::dataflow(), returnNode::dataflow(), gotoNode::dataflow(), forNode::dataflow(), doNode::dataflow(), continueNode::dataflow(), and breakNode::dataflow().

void declSetFlowVal::to_top void    [inline, virtual]
 

Implements FlowVal.

Definition at line 77 of file defuse.h.

References Bits::reset_all().

Referenced by declSetFlowVal().

void declSetFlowVal::Union const FlowVal   v [inline]
 

Definition at line 127 of file defuse.h.

References bits, and Bits::Or().

Referenced by meet().


Member Data Documentation

Bits* declSetFlowVal::bits [private]
 

Definition at line 67 of file defuse.h.

Referenced by clone(), diff(), Difference(), and Union().

declNode** declSetFlowVal::decls [private]
 

Definition at line 69 of file defuse.h.

map<var_id, int>* declSetFlowVal::name2num [private]
 

Definition at line 68 of file defuse.h.

int declSetFlowVal::size [private]
 

Definition at line 66 of file defuse.h.


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

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