LocationSet Class Reference

#include <include/managed.h>

List of all members.


Detailed Description

Definition at line 182 of file managed.h.

Public Types

typedef std::set< Exp *, lessExpStar
>::iterator 
iterator

Public Member Functions

void addSubscript (Statement *def)
iterator begin ()
void clear ()
void diff (LocationSet *o)
void dump ()
iterator end ()
bool exists (Exp *e)
bool existsImplicit (Exp *e)
iterator find (Exp *e)
bool findDifferentRef (RefExp *e, Exp *&dr)
Exp * findNS (Exp *e)
void insert (Exp *loc)
 LocationSet (const LocationSet &o)
 LocationSet ()
void makeDiff (LocationSet &other)
void makeUnion (LocationSet &other)
LocationSet & operator= (const LocationSet &o)
bool operator== (const LocationSet &o) const
void print (std::ostream &os)
char * prints ()
void remove (iterator ll)
void remove (Exp *loc)
void removeIfDefines (StatementSet &given)
unsigned size () const
void substitute (Assign &a)
 ~LocationSet ()

Private Attributes

std::set< Exp *, lessExpStar > lset


Member Typedef Documentation

typedef std::set<Exp*, lessExpStar>::iterator LocationSet::iterator
 

Definition at line 189 of file managed.h.


Constructor & Destructor Documentation

LocationSet::LocationSet (   )  [inline]
 

Definition at line 190 of file managed.h.

LocationSet::~LocationSet (   )  [inline]
 

Definition at line 191 of file managed.h.

LocationSet::LocationSet (  const LocationSet &  o  ) 
 

Definition at line 314 of file managed.cpp.

References lset.


Member Function Documentation

void LocationSet::addSubscript (  Statement *  def  ) 
 

Definition at line 454 of file managed.cpp.

References lset.

Referenced by BasicBlock::calcLiveness().

iterator LocationSet::begin (   )  [inline]
 

Definition at line 197 of file managed.h.

References lset.

Referenced by UseCollector::begin(), checkForOverlap(), UserProc::countRefs(), UserProc::findFinalParameters(), UseCollector::fromSSAform(), UserProc::isRetNonFakeUsed(), UseCollector::operator==(), XMLProgParser::persistToXML(), UseCollector::print(), UserProc::printDFG(), UserProc::printUseGraph(), PentiumFrontEnd::processOverlapped(), Statement::propagateFlagsTo(), Statement::propagateTo(), removeIfDefines(), UserProc::removeSpAssignsIfPossible(), Exp::removeSubscripts(), UserProc::removeUnusedLocals(), Statement::setProc(), Constraints::solve(), StatementTest::testLocationSet(), and Constraints::~Constraints().

void LocationSet::clear (   )  [inline]
 

Definition at line 196 of file managed.h.

References lset.

Referenced by UseCollector::clear(), UserProc::conTypeAnalysis(), BasicBlock::getLiveOut(), UseCollector::makeCloneOf(), ExpTest::testAddUsedLocs(), StatementTest::testAddUsedLocsAssign(), StatementTest::testAddUsedLocsBool(), and StatementTest::testAddUsedLocsCall().

void LocationSet::diff (  LocationSet *  o  ) 
 

Definition at line 660 of file managed.cpp.

References lset.

void LocationSet::dump (   ) 
 

Definition at line 332 of file managed.cpp.

References print().

iterator LocationSet::end (   )  [inline]
 

Definition at line 198 of file managed.h.

References lset.

Referenced by checkForOverlap(), UserProc::countRefs(), UseCollector::end(), UserProc::findFinalParameters(), UseCollector::fromSSAform(), UserProc::isRetNonFakeUsed(), UseCollector::operator==(), XMLProgParser::persistToXML(), UseCollector::print(), UserProc::printDFG(), UserProc::printUseGraph(), PentiumFrontEnd::processOverlapped(), Statement::propagateFlagsTo(), Statement::propagateTo(), removeIfDefines(), UserProc::removeSpAssignsIfPossible(), Exp::removeSubscripts(), UserProc::removeUnusedLocals(), Statement::setProc(), Constraints::solve(), StatementTest::testLocationSet(), and Constraints::~Constraints().

bool LocationSet::exists (  Exp *  e  ) 
 

Definition at line 396 of file managed.cpp.

References lset.

Referenced by CallStatement::eliminateDuplicateArgs(), UseCollector::exists(), UserProc::isAddressEscapedVar(), UserProc::isPropagatable(), StatementList::makeIsect(), Statement::propagateTo(), and StatementTest::testWildLocationSet().

bool LocationSet::existsImplicit (  Exp *  e  ) 
 

Definition at line 416 of file managed.cpp.

References lset, and NULL.

Referenced by UserProc::checkForGainfulUse(), and StatementTest::testLocationSet().

iterator LocationSet::find (  Exp *  e  )  [inline]
 

Definition at line 214 of file managed.h.

References lset.

bool LocationSet::findDifferentRef (  RefExp *  e,
Exp *&  dr
) 
 

Definition at line 433 of file managed.cpp.

References Exp::clone(), Unary::getSubExp1(), and lset.

Referenced by checkForOverlap(), StatementTest::testLocationSet(), and StatementTest::testWildLocationSet().

Exp * LocationSet::findNS (  Exp *  e  ) 
 

Definition at line 402 of file managed.cpp.

References lset, and NULL.

Referenced by Statement::propagateTo().

void LocationSet::insert (  Exp *  loc  )  [inline]
 

Definition at line 199 of file managed.h.

References lset.

Referenced by BasicBlock::addLiveIn(), DataFlow::findLiveAtDomPhi(), UseCollector::fromSSAform(), PhiAssign::genConstraints(), Assign::genConstraints(), Assignment::genConstraints(), Assignment::getDefinitions(), BoolAssign::getDefinitions(), CallStatement::getDefinitions(), UserProc::getDefinitions(), Location::getDefinitions(), BasicBlock::getLiveOut(), UseCollector::insert(), UseCollector::makeCloneOf(), Constraints::solve(), substitute(), StatementTest::testLocationSet(), StatementTest::testWildLocationSet(), UsedLocalFinder::visit(), and UsedLocsFinder::visit().

void LocationSet::makeDiff (  LocationSet &  other  ) 
 

Definition at line 379 of file managed.cpp.

References lset.

Referenced by BasicBlock::calcLiveness().

void LocationSet::makeUnion (  LocationSet &  other  ) 
 

Definition at line 371 of file managed.cpp.

References lset.

Referenced by Constraints::addConstraints(), BasicBlock::getLiveOut(), and Statement::setProc().

LocationSet & LocationSet::operator= (  const LocationSet &  o  ) 
 

Definition at line 304 of file managed.cpp.

References lset.

bool LocationSet::operator== (  const LocationSet &  o  )  const
 

Definition at line 386 of file managed.cpp.

References lset, and size().

void LocationSet::print (  std::ostream &  os  ) 
 

Definition at line 336 of file managed.cpp.

References lset.

Referenced by dump(), operator<<(), Constraints::solve(), ExpTest::testAddUsedLocs(), StatementTest::testAddUsedLocsAssign(), StatementTest::testAddUsedLocsBool(), StatementTest::testAddUsedLocsBranch(), StatementTest::testAddUsedLocsCall(), StatementTest::testAddUsedLocsCase(), and StatementTest::testAddUsedLocsReturn().

char * LocationSet::prints (   ) 
 

Definition at line 320 of file managed.cpp.

References lset.

Referenced by BasicBlock::calcLiveness(), and StatementTest::testLocationSet().

void LocationSet::remove (  iterator  ll  )  [inline]
 

Definition at line 201 of file managed.h.

References lset.

void LocationSet::remove (  Exp *  loc  ) 
 

Definition at line 344 of file managed.cpp.

References lset.

Referenced by UserProc::findLiveAtDomPhi(), UseCollector::remove(), Constraints::solve(), and StatementTest::testLocationSet().

void LocationSet::removeIfDefines (  StatementSet &  given  ) 
 

Definition at line 358 of file managed.cpp.

References begin(), StatementSet::begin(), end(), StatementSet::end(), and lset.

unsigned LocationSet::size (   )  const [inline]
 

Definition at line 203 of file managed.h.

References lset.

Referenced by CallStatement::isDefinition(), operator==(), UseCollector::operator==(), Constraints::solve(), ExpTest::testAddUsedLocs(), and StatementTest::testLocationSet().

void LocationSet::substitute (  Assign &  a  ) 
 

Definition at line 464 of file managed.cpp.

References Assignment::getLeft(), Assign::getRight(), insert(), Exp::isTerminal(), lset, and NULL.


Member Data Documentation

std::set<Exp*, lessExpStar> LocationSet::lset [private]
 

Definition at line 187 of file managed.h.

Referenced by addSubscript(), begin(), clear(), diff(), end(), exists(), existsImplicit(), find(), findDifferentRef(), findNS(), insert(), LocationSet(), makeDiff(), makeUnion(), operator=(), operator==(), print(), prints(), remove(), removeIfDefines(), size(), and substitute().


The documentation for this class was generated from the following files:
Generated on Tue Sep 19 21:18:43 2006 for Boomerang by  doxygen 1.4.6