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  

memoryAccess Class Reference

#include <memoryaccess.h>

Inheritance diagram for memoryAccess:

PerClassHeap< PointersHeap > memoryDef memoryUse List of all members.

Public Types

enum  WeakReason { MultipleLHS, HighMultiplicity, Forced }

Public Member Functions

 memoryAccess (Location *where, memoryBlock *owner)
 The assignment.

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

Location_where
 Location of def or use.

int _is_weak:1
 Is it weak?

int _multiplicity:8
 Multiplicity (defs only).

int _search_for_def:1
 Search for reaching def (uses only).

int _active:1
 Active SSA use (uses only).

memoryBlock *const _owner
 The memoryBlock.


Member Enumeration Documentation

enum memoryAccess::WeakReason
 

Enumeration values:
MultipleLHS 
HighMultiplicity 
Forced 

Definition at line 174 of file memoryaccess.h.


Constructor & Destructor Documentation

memoryAccess::memoryAccess Location   where,
memoryBlock   owner
 

The assignment.

If this memoryUse is the left or right side of an assignment, then this refers to that assignment object.

Definition at line 53 of file memoryaccess.cc.

References Unallocated.


Member Function Documentation

bool memoryAccess::is_active   const [inline]
 

Definition at line 230 of file memoryaccess.h.

References _active.

bool memoryAccess::is_weak   const [inline]
 

Definition at line 219 of file memoryaccess.h.

References _is_weak.

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

Multiplicity memoryAccess::multiplicity   const [inline]
 

Definition at line 224 of file memoryaccess.h.

References _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]
 

Definition at line 239 of file memoryaccess.h.

void memoryAccess::search_for_def bool    val [inline]
 

Definition at line 228 of file memoryaccess.h.

References _search_for_def.

bool memoryAccess::search_for_def   const [inline]
 

Definition at line 227 of file memoryaccess.h.

References _search_for_def.

void memoryAccess::set_active   [inline]
 

Definition at line 231 of file memoryaccess.h.

References _active.

void memoryAccess::set_inactive   [inline]
 

Definition at line 232 of file memoryaccess.h.

References _active.

void memoryAccess::set_multiplicity Multiplicity    lin [inline]
 

Definition at line 225 of file memoryaccess.h.

References _multiplicity.

void memoryAccess::set_weak bool    is [inline]
 

Definition at line 220 of file memoryaccess.h.

References _is_weak.

Referenced by memoryBlock::apply_weak_update().

void memoryAccess::stats   [static]
 

Definition at line 62 of file memoryaccess.cc.

References def_count, and use_count.

Referenced by pointers_phase::run().

Location* memoryAccess::where   const [inline]
 

Definition at line 217 of file memoryaccess.h.

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


Member Data Documentation

int memoryAccess::_active [private]
 

Active SSA use (uses only).

Definition at line 196 of file memoryaccess.h.

Referenced by is_active(), set_active(), and set_inactive().

int memoryAccess::_is_weak [private]
 

Is it weak?

Definition at line 184 of file memoryaccess.h.

Referenced by is_weak(), and set_weak().

int memoryAccess::_multiplicity [private]
 

Multiplicity (defs only).

Definition at line 188 of file memoryaccess.h.

Referenced by multiplicity(), and set_multiplicity().

memoryBlock* const memoryAccess::_owner [private]
 

The memoryBlock.

Definition at line 200 of file memoryaccess.h.

int memoryAccess::_search_for_def [private]
 

Search for reaching def (uses only).

Definition at line 192 of file memoryaccess.h.

Referenced by search_for_def().

Location* memoryAccess::_where [private]
 

Location of def or use.

Definition at line 180 of file memoryaccess.h.

unsigned int memoryAccess::def_count = 0 [static]
 

Definition at line 49 of file memoryaccess.cc.

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

unsigned int memoryAccess::merge_use_count = 0 [static]
 

Definition at line 51 of file memoryaccess.cc.

unsigned int memoryAccess::use_count = 0 [static]
 

Definition at line 50 of file memoryaccess.cc.

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

bool memoryAccess::Verbose = false [static]
 

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