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)
ExpfindNS (Exp *e)
void insert (Exp *loc)
 LocationSet (const LocationSet &o)
 LocationSet ()
void makeDiff (LocationSet &other)
void makeUnion (LocationSet &other)
LocationSetoperator= (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 *, lessExpStarlset


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