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  

memoryUse Class Reference

#include <memoryaccess.h>

Inheritance diagram for memoryUse:

memoryAccess PerClassHeap< PointersHeap > List of all members.

Public Types

enum  WeakReason { MultipleLHS, HighMultiplicity, Forced }

Public Member Functions

 memoryUse (Location *where, memoryBlock *owner)
 ~memoryUse ()
memoryDefreaching_def () const
void reaching_def (memoryDef *def)
void print (ostream &o) const
Locationwhere () const
bool is_weak () const
void set_weak (bool is)
Multiplicity multiplicity () const
void set_multiplicity (Multiplicity lin)
bool search_for_def () const
void search_for_def (bool val)
bool is_active () const
void set_active ()
void set_inactive ()
memoryBlockowner () const

Static Public Member Functions

void stats ()

Static Public Attributes

bool Verbose = false
unsigned int def_count = 0
unsigned int use_count = 0
unsigned int merge_use_count = 0

Private Attributes

memoryDef_reaching_def

Member Enumeration Documentation

enum memoryAccess::WeakReason [inherited]
 

Enumeration values:
MultipleLHS 
HighMultiplicity 
Forced 

Definition at line 174 of file memoryaccess.h.


Constructor & Destructor Documentation

memoryUse::memoryUse Location   where,
memoryBlock   owner
 

Definition at line 434 of file memoryaccess.cc.

References memoryAccess::use_count.

memoryUse::~memoryUse  
 

Definition at line 443 of file memoryaccess.cc.

References memoryAccess::use_count.


Member Function Documentation

bool memoryAccess::is_active   const [inline, inherited]
 

Definition at line 230 of file memoryaccess.h.

References memoryAccess::_active.

bool memoryAccess::is_weak   const [inline, inherited]
 

Definition at line 219 of file memoryaccess.h.

References memoryAccess::_is_weak.

Referenced by procedureInfo::add_external_output(), and Pointers::assignment_operator().

Multiplicity memoryAccess::multiplicity   const [inline, inherited]
 

Definition at line 224 of file memoryaccess.h.

References memoryAccess::_multiplicity, and Multiplicity.

Referenced by memoryBlock::at_allocation(), memoryBlock::at_deallocation(), Pointers::current_multiplicity(), Pointers::merge_operator(), and Pointers::self_assignment().

memoryBlock* memoryAccess::owner   const [inline, inherited]
 

Definition at line 239 of file memoryaccess.h.

void memoryUse::print ostream &    o const
 

Definition at line 469 of file memoryaccess.cc.

References _reaching_def, memoryDef::print(), and memoryAccess::where().

void memoryUse::reaching_def memoryDef   def
 

Definition at line 448 of file memoryaccess.cc.

References _reaching_def, def, and memoryAccess::where().

memoryDef* memoryUse::reaching_def   const [inline]
 

Definition at line 441 of file memoryaccess.h.

Referenced by memoryBlock::apply_weak_update(), Pointers::assignment_operator(), constantAnalyzer::at_assignment(), constantAnalyzer::at_merge(), constantAnalyzer::at_self_assignment(), Pointers::conservative_procedure_call(), memoryModel::generate_array_elements_for(), and memoryModel::initialize_struct().

void memoryAccess::search_for_def bool    val [inline, inherited]
 

Definition at line 228 of file memoryaccess.h.

References memoryAccess::_search_for_def.

bool memoryAccess::search_for_def   const [inline, inherited]
 

Definition at line 227 of file memoryaccess.h.

References memoryAccess::_search_for_def.

void memoryAccess::set_active   [inline, inherited]
 

Definition at line 231 of file memoryaccess.h.

References memoryAccess::_active.

void memoryAccess::set_inactive   [inline, inherited]
 

Definition at line 232 of file memoryaccess.h.

References memoryAccess::_active.

void memoryAccess::set_multiplicity Multiplicity    lin [inline, inherited]
 

Definition at line 225 of file memoryaccess.h.

References memoryAccess::_multiplicity.

void memoryAccess::set_weak bool    is [inline, inherited]
 

Definition at line 220 of file memoryaccess.h.

References memoryAccess::_is_weak.

Referenced by memoryBlock::apply_weak_update().

void memoryAccess::stats   [static, inherited]
 

Definition at line 62 of file memoryaccess.cc.

References memoryAccess::def_count, and memoryAccess::use_count.

Referenced by pointers_phase::run().

Location* memoryAccess::where   const [inline, inherited]
 

Definition at line 217 of file memoryaccess.h.

Referenced by Pointers::assignment_operator(), memoryBlock::def_at(), print(), memoryDef::print(), reaching_def(), Pointers::record_external_inputs_and_outputs(), and memoryBlock::setup_merge_uses_at().


Member Data Documentation

memoryDef* memoryUse::_reaching_def [private]
 

Definition at line 427 of file memoryaccess.h.

Referenced by print(), and reaching_def().

unsigned int memoryAccess::def_count = 0 [static, inherited]
 

Definition at line 49 of file memoryaccess.cc.

Referenced by Pointers::analyze_procedure_at(), memoryDef::memoryDef(), memoryAccess::stats(), and memoryDef::~memoryDef().

unsigned int memoryAccess::merge_use_count = 0 [static, inherited]
 

Definition at line 51 of file memoryaccess.cc.

unsigned int memoryAccess::use_count = 0 [static, inherited]
 

Definition at line 50 of file memoryaccess.cc.

Referenced by memoryUse(), memoryAccess::stats(), and ~memoryUse().

bool memoryAccess::Verbose = false [static, inherited]
 

Definition at line 48 of file memoryaccess.cc.


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

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