Polaris: IPCPConstants Class Reference

IPCPConstants Class Reference

file IPCPConstants.h Holds the constants for the entry of a single proc. More...

#include <IPCPConstants.h>

Inheritance diagram for IPCPConstants:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 IPCPConstants ()
 Constructors.
 IPCPConstants (Map< Symbol, Expression > *constants, AliasSets *alias_sets)
 IPCPConstants (const IPCPConstants &other)
virtual ~IPCPConstants ()
 Destructor.
int operator== (const IPCPConstants &other) const
 operator ==
int operator!= (const IPCPConstants &other) const
 Return true (false) if my constant values equals the other object's constant values.
const Map< Symbol, Expression > & constants () const
 Return the set of constants.
AliasSetsalias_sets ()
 Return the sets of aliased variables associated with this set of constants.
const Set< CallSite > & invocation_sites () const
 Return the call sites of all routines that called the procedure that produced my set of constants.
void add_invocation_site (CallSite *invocation_site)
 Add the given call site to the set of invocation sites.
void merge_invocation_sites (IPCPConstants *other)
 Merge all the invocation sites in the other object with my invocation sites, then delete the other object.
void filter_out_vars_not_in_set (const RefSet< Symbol > &keepable_lhs_vars, const RefSet< Symbol > &keepable_rhs_vars)
 Remove any constants for variables in the set or whose constant expressions contains variables not in the sets.
virtual void print (ostream &o) const
 Print out all fields in my object.
virtual void print_constants (ostream &o) const
 Print out the set of constants stored within myself.
virtual Listablelistable_clone () const
 listable_clone
virtual int structures_OK () const
 Functions required by Listable.

Public Attributes

IPCPProcDataproc_data_ref
 that owns me.

Detailed Description

file IPCPConstants.h Holds the constants for the entry of a single proc.

Polaris Constant

See also:
IPCPConstants.h

IPCPConstants.h

Overview

This class holds all parameter and global constants at the entry of a single program unit.

Definition at line 56 of file IPCPConstants.h.


Constructor & Destructor Documentation

IPCPConstants::IPCPConstants  ) 
 

Constructors.

Definition at line 70 of file IPCPConstants.cc.

Referenced by listable_clone().

IPCPConstants::IPCPConstants Map< Symbol, Expression > *  constants,
AliasSets alias_sets
 

... Make sure no constant expression uses a variable belonging to another ... constant.

Definition at line 76 of file IPCPConstants.cc.

References alias_sets(), constants(), proc_data_ref, and subst_vars_in_map().

IPCPConstants::IPCPConstants const IPCPConstants other  ) 
 

Definition at line 93 of file IPCPConstants.cc.

References proc_data_ref.

IPCPConstants::~IPCPConstants  )  [virtual]
 

Destructor.

Definition at line 104 of file IPCPConstants.cc.


Member Function Documentation

int IPCPConstants::operator== const IPCPConstants other  )  const
 

operator ==

Definition at line 114 of file IPCPConstants.cc.

References KeyIterator< S, T >::current_data(), KeyIterator< S, T >::current_key(), BaseMapRoot::entries(), ProtoMap< S, T >::find_ref(), and KeyIterator< S, T >::valid().

int IPCPConstants::operator!= const IPCPConstants other  )  const [inline]
 

Return true (false) if my constant values equals the other object's constant values.

Definition at line 135 of file IPCPConstants.h.

const Map< Symbol, Expression > & IPCPConstants::constants  )  const [inline]
 

Return the set of constants.

Definition at line 141 of file IPCPConstants.h.

Referenced by IPCPConstants().

AliasSets & IPCPConstants::alias_sets  )  [inline]
 

Return the sets of aliased variables associated with this set of constants.

Definition at line 147 of file IPCPConstants.h.

Referenced by IPCPConstants().

const Set< CallSite > & IPCPConstants::invocation_sites  )  const [inline]
 

Return the call sites of all routines that called the procedure that produced my set of constants.

Definition at line 153 of file IPCPConstants.h.

Referenced by CallSite::print().

void IPCPConstants::add_invocation_site CallSite invocation_site  ) 
 

Add the given call site to the set of invocation sites.

Definition at line 137 of file IPCPConstants.cc.

References Set< T >::ins().

Referenced by IPCPProcData::add_constant_set(), and merge_invocation_sites().

void IPCPConstants::merge_invocation_sites IPCPConstants other  ) 
 

Merge all the invocation sites in the other object with my invocation sites, then delete the other object.

Definition at line 146 of file IPCPConstants.cc.

References add_invocation_site(), Mutator< T >::grab(), and Iterator< T >::valid().

Referenced by IPCPProcData::add_constant_set().

void IPCPConstants::filter_out_vars_not_in_set const RefSet< Symbol > &  keepable_lhs_vars,
const RefSet< Symbol > &  keepable_rhs_vars
 

Remove any constants for variables in the set or whose constant expressions contains variables not in the sets.

Definition at line 185 of file IPCPConstants.cc.

References _contains_vars_not_in_set(), Iterator< T >::current(), Map< S, T >::del(), modified_vars(), and Iterator< T >::valid().

void IPCPConstants::print ostream &  o  )  const [virtual]
 

Print out all fields in my object.

Implements Listable.

Definition at line 237 of file IPCPConstants.cc.

References AliasSets::print(), and print_constants().

void IPCPConstants::print_constants ostream &  o  )  const [virtual]
 

Print out the set of constants stored within myself.

Definition at line 216 of file IPCPConstants.cc.

References KeyIterator< S, T >::current_data(), KeyIterator< S, T >::current_key(), Symbol::name_ref(), and KeyIterator< S, T >::valid().

Referenced by print(), and InterProcConstProp::print_consts_sets().

Listable * IPCPConstants::listable_clone  )  const [virtual]
 

listable_clone

Implements Listable.

Definition at line 207 of file IPCPConstants.cc.

References IPCPConstants().

int IPCPConstants::structures_OK  )  const [virtual]
 

Functions required by Listable.

Definition at line 252 of file IPCPConstants.cc.

References BaseMapRoot::structures_OK().


Member Data Documentation

IPCPProcData* IPCPConstants::proc_data_ref
 

that owns me.

Definition at line 58 of file IPCPConstants.h.

Referenced by IPCPProcData::add_constant_set(), IPCPConstants(), CallSite::print(), and IPCPProcData::transfer_const_set().


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:37 2005