Polaris: AliasSets Class Reference

AliasSets Class Reference

file AliasSets.h Collection of sets of aliased variables. More...

#include <AliasSets.h>

List of all members.

Public Member Functions

 AliasSets ()
 Constructors.
 AliasSets (AliasSets &other)
virtual ~AliasSets ()
 Destructor.
void alias (const Symbol &var1, const Symbol &var2)
 Mark the two variables as aliased.
void alias (const RefList< Symbol > &formals, const List< Expression > &actuals)
 Alias each formal/actual pair in the given list pair.
RefSet< Symbol > * aliases (const Symbol &var)
 Return all the variables aliased to the given variable.
RefSet< Symbol > * aliases (const Symbol &var, const RefSet< Symbol > &filter_vars)
 Like the previous method, but only variables in filter_vars would be in the returned set.
virtual void print (ostream &o)
 Print out my alias relationships.


Detailed Description

file AliasSets.h Collection of sets of aliased variables.

Polaris Constant

See also:
AliasSets.h

AliasSets.h

Overview

This class represents all aliases between global variables for a particular program unit.

Definition at line 30 of file AliasSets.h.


Constructor & Destructor Documentation

AliasSets::AliasSets  ) 
 

Constructors.

... Nothing to do.

Definition at line 40 of file AliasSets.cc.

AliasSets::AliasSets AliasSets other  ) 
 

... Copy the other objects elements to myself.

... Build my set relationships so that they resemble the other ... object's set relationsips.

Definition at line 45 of file AliasSets.cc.

References KeyIterator< S, T >::current_data(), KeyIterator< S, T >::current_key(), UnionFindSetElem::find_set(), RefMap< S, T >::ins(), Map< S, T >::ins(), UnionFindSetElem::union_sets(), and KeyIterator< S, T >::valid().

AliasSets::~AliasSets  )  [virtual]
 

Destructor.

... Nothing to do.

Definition at line 70 of file AliasSets.cc.


Member Function Documentation

void AliasSets::alias const Symbol var1,
const Symbol var2
 

Mark the two variables as aliased.

Definition at line 108 of file AliasSets.cc.

References UnionFindSetElem::union_sets().

Referenced by alias(), ReturnJumpFunction::const_mods(), JumpFunction::constants(), and ReturnJumpFunction::new_consts().

void AliasSets::alias const RefList< Symbol > &  formals,
const List< Expression > &  actuals
 

Alias each formal/actual pair in the given list pair.

Definition at line 117 of file AliasSets.cc.

References alias(), Expression::base_variable_ref(), Iterator< T >::current(), and Iterator< T >::valid().

RefSet< Symbol > * AliasSets::aliases const Symbol var  ) 
 

Return all the variables aliased to the given variable.

Definition at line 138 of file AliasSets.cc.

References KeyIterator< S, T >::current_data(), KeyIterator< S, T >::current_key(), ProtoMap< S, T >::find_ref(), UnionFindSetElem::find_set(), RefSet< T >::ins(), and KeyIterator< S, T >::valid().

Referenced by aliases().

RefSet< Symbol > * AliasSets::aliases const Symbol var,
const RefSet< Symbol > &  filter_vars
 

Like the previous method, but only variables in filter_vars would be in the returned set.

Definition at line 159 of file AliasSets.cc.

References aliases(), Iterator< T >::current(), Mutator< T >::del(), and Iterator< T >::valid().

void AliasSets::print ostream &  o  )  [virtual]
 

Print out my alias relationships.

Definition at line 193 of file AliasSets.cc.

References _print(), KeyIterator< S, T >::current_data(), KeyIterator< S, T >::current_key(), UnionFindSetElem::find_set(), Map< S, T >::ins(), KeyIterator< S, T >::reset(), and KeyIterator< S, T >::valid().

Referenced by IPCPConstants::print().


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:06:37 2005