C-Breeze
C Compiler Infrastructure

[ Project home page]

memoryDef Class Reference

#include <memoryaccess.h>

Inheritance diagram for memoryDef:

memoryAccess PerClassHeap< PointersHeap > List of all members.

Public Types

enum  WeakReason { MultipleLHS, HighMultiplicity, Forced }

Public Member Functions

 memoryDef (Location *where, memoryBlock *owner)
 ~memoryDef ()
const memoryblock_setpoints_to () const
const constantvalue () const
void set_value (const constant *newval)
memoryUseself_assign_use () const
void set_self_assign_use (memoryUse *new_use)
void add_pointers (const memoryblock_set &mbs)
 Add pointers.
void clear_points_to ()
 Clear the points-to set.
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

static void stats ()

Static Public Attributes

static bool Verbose
static unsigned int def_count
static unsigned int use_count
static unsigned int merge_use_count

Private Attributes

memoryblock_set _points_to
 Uses of this def The points-to set at this def.
const constant_value
 The previous reaching definition Constant value.
memoryUse_self_assign_use
 Self-assign use.

Member Enumeration Documentation

enum memoryAccess::WeakReason [inherited]
 

Enumeration values:
MultipleLHS 
HighMultiplicity 
Forced 

Definition at line 174 of file memoryaccess.h.


Constructor & Destructor Documentation

memoryDef::memoryDef Location where,
memoryBlock owner
 

memoryDef::~memoryDef  ) 
 


Member Function Documentation

void memoryDef::add_pointers const memoryblock_set mbs  ) 
 

Add pointers.

Add pointer values into the points-to set for this def.

void memoryDef::clear_points_to  ) 
 

Clear the points-to set.

Remove all the previous values. This is usually done as part of a strong update.

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.

Multiplicity memoryAccess::multiplicity  )  const [inline, inherited]
 

Definition at line 224 of file memoryaccess.h.

References memoryAccess::_multiplicity.

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

Definition at line 239 of file memoryaccess.h.

References memoryAccess::_owner.

const memoryblock_set& memoryDef::points_to  )  const [inline]
 

Definition at line 299 of file memoryaccess.h.

References _points_to.

void memoryDef::print ostream &  o  )  const
 

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.

memoryUse* memoryDef::self_assign_use  )  const [inline]
 

Definition at line 309 of file memoryaccess.h.

References _self_assign_use.

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 memoryDef::set_self_assign_use memoryUse new_use  )  [inline]
 

Definition at line 310 of file memoryaccess.h.

References _self_assign_use.

void memoryDef::set_value const constant newval  )  [inline]
 

Definition at line 305 of file memoryaccess.h.

References _value.

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

Definition at line 220 of file memoryaccess.h.

References memoryAccess::_is_weak.

static void memoryAccess::stats  )  [static, inherited]
 

const constant* memoryDef::value  )  const [inline]
 

Definition at line 304 of file memoryaccess.h.

References _value.

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

Definition at line 217 of file memoryaccess.h.

References memoryAccess::_where.


Member Data Documentation

memoryblock_set memoryDef::_points_to [private]
 

Uses of this def The points-to set at this def.

Definition at line 267 of file memoryaccess.h.

Referenced by points_to().

memoryUse* memoryDef::_self_assign_use [private]
 

Self-assign use.

For defs caused by self-assignments, point back to the use because it might be at a different location. For example, in the case of external outputs the use is at the return statement and the def is at the call site.

Definition at line 284 of file memoryaccess.h.

Referenced by self_assign_use(), and set_self_assign_use().

const constant* memoryDef::_value [private]
 

The previous reaching definition Constant value.

Definition at line 275 of file memoryaccess.h.

Referenced by set_value(), and value().

unsigned int memoryAccess::def_count [static, inherited]
 

Definition at line 168 of file memoryaccess.h.

unsigned int memoryAccess::merge_use_count [static, inherited]
 

Definition at line 170 of file memoryaccess.h.

unsigned int memoryAccess::use_count [static, inherited]
 

Definition at line 169 of file memoryaccess.h.

bool memoryAccess::Verbose [static, inherited]
 

Definition at line 167 of file memoryaccess.h.


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

Generated on February 1, 2006
Back to the C-Breeze home page