PhiAssign Class Reference

#include <include/statement.h>

Inheritance diagram for PhiAssign:

Assignment TypingStatement Statement List of all members.

Detailed Description

Definition at line 579 of file statement.h.

Public Types

typedef std::vector< PhiInfoDefinitions
typedef Definitions::iterator iterator

Public Member Functions

virtual bool accept (StmtPartModifier *visitor)
virtual bool accept (StmtModifier *visitor)
virtual bool accept (StmtExpVisitor *visitor)
virtual bool accept (StmtVisitor *visitor)
iterator begin ()
virtual Statementclone ()
void convertToAssign (Exp *rhs)
void dfaTypeAnalysis (bool &ch)
iterator end ()
void enumerateParams (std::list< Exp * > &le)
iterator erase (iterator it)
virtual void genConstraints (LocationSet &cons)
PhiInfogetAt (int idx)
DefinitionsgetDefs ()
virtual int getNumDefs ()
virtual ExpgetRight ()
StatementgetStmtAt (int idx)
bool hasGlobalFuncParam ()
 PhiAssign (Assign &o)
 PhiAssign (Type *ty, Exp *lhs)
 PhiAssign (Exp *lhs)
virtual void printCompact (std::ostream &os, bool html=false)
void putAt (int idx, Statement *d, Exp *e)
virtual bool search (Exp *search, Exp *&result)
virtual bool searchAll (Exp *search, std::list< Exp * > &result)
virtual bool searchAndReplace (Exp *search, Exp *replace, bool cc=false)
virtual void simplify ()
void simplifyRefs ()
virtual ~PhiAssign ()

Private Attributes

Definitions defVec

Friends

class XMLProgParser


Member Typedef Documentation

typedef std::vector<PhiInfo> PhiAssign::Definitions
 

Definition at line 581 of file statement.h.

typedef Definitions::iterator PhiAssign::iterator
 

Definition at line 582 of file statement.h.


Constructor & Destructor Documentation

PhiAssign::PhiAssign Exp lhs  )  [inline]
 

Definition at line 587 of file statement.h.

References Statement::kind, and STMT_PHIASSIGN.

Referenced by clone().

PhiAssign::PhiAssign Type ty,
Exp lhs
[inline]
 

Definition at line 590 of file statement.h.

References Statement::kind, and STMT_PHIASSIGN.

PhiAssign::PhiAssign Assign o  ) 
 

virtual PhiAssign::~PhiAssign  )  [inline, virtual]
 

Definition at line 595 of file statement.h.

Referenced by convertToAssign().


Member Function Documentation

bool PhiAssign::accept StmtPartModifier visitor  )  [virtual]
 

Implements Assignment.

Definition at line 4002 of file statement.cpp.

References accept(), ExpModifier::clearMod(), Exp::isMemOf(), Assignment::lhs, StmtPartModifier::mod, and StmtPartModifier::visit().

bool PhiAssign::accept StmtModifier visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3883 of file statement.cpp.

References Exp::accept(), ExpModifier::clearMod(), ExpModifier::isMod(), Assignment::lhs, LOG, StmtModifier::mod, and StmtModifier::visit().

bool PhiAssign::accept StmtExpVisitor visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3762 of file statement.cpp.

References RefExp::accept(), Exp::accept(), defVec, StmtExpVisitor::ev, Assignment::lhs, NULL, and StmtExpVisitor::visit().

bool PhiAssign::accept StmtVisitor visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3207 of file statement.cpp.

References StmtVisitor::visit().

Referenced by accept(), and UserProc::mapTempsToLocals().

iterator PhiAssign::begin  )  [inline]
 

Definition at line 641 of file statement.h.

References defVec.

Referenced by BasicBlock::decodeIndirectJmp(), enumerateParams(), UserProc::findPhiUnites(), UserProc::nameParameterPhis(), StmtSsaXformer::visit(), and StmtImplicitConverter::visit().

Statement * PhiAssign::clone  )  [virtual]
 

Implements Assignment.

Definition at line 3186 of file statement.cpp.

References defVec, Assignment::lhs, PhiAssign(), and TypingStatement::type.

void PhiAssign::convertToAssign Exp rhs  ) 
 

Definition at line 4147 of file statement.cpp.

References Assignment::lhs, Statement::number, Statement::proc, Exp::propagateAll(), Statement::setBB(), Statement::setNumber(), Statement::setProc(), TypingStatement::type, and ~PhiAssign().

void PhiAssign::dfaTypeAnalysis bool &  ch  )  [virtual]
 

Reimplemented from Assignment.

Definition at line 774 of file dfa.cpp.

References defVec, Assignment::lhs, and NULL.

iterator PhiAssign::end  )  [inline]
 

Definition at line 642 of file statement.h.

References defVec.

Referenced by BasicBlock::decodeIndirectJmp(), enumerateParams(), UserProc::findPhiUnites(), UserProc::nameParameterPhis(), UserProc::prover(), StmtSsaXformer::visit(), and StmtImplicitConverter::visit().

void PhiAssign::enumerateParams std::list< Exp * > &  le  ) 
 

Definition at line 5025 of file statement.cpp.

References begin(), end(), and NULL.

iterator PhiAssign::erase iterator  it  )  [inline]
 

Definition at line 643 of file statement.h.

References defVec.

void PhiAssign::genConstraints LocationSet cons  )  [virtual]
 

Reimplemented from Assignment.

Definition at line 3563 of file statement.cpp.

References defVec, LocationSet::insert(), Assignment::lhs, opEquals, opTypeOf, and result.

PhiInfo& PhiAssign::getAt int  idx  )  [inline]
 

Definition at line 633 of file statement.h.

References defVec.

Definitions& PhiAssign::getDefs  )  [inline]
 

Definition at line 637 of file statement.h.

References defVec.

virtual int PhiAssign::getNumDefs  )  [inline, virtual]
 

Definition at line 636 of file statement.h.

References defVec.

virtual Exp* PhiAssign::getRight  )  [inline, virtual]
 

Definition at line 601 of file statement.h.

References NULL.

Referenced by CallStatement::genConstraints().

Statement* PhiAssign::getStmtAt int  idx  )  [inline]
 

Definition at line 632 of file statement.h.

References defVec.

Referenced by BasicBlock::getLiveOut().

bool PhiAssign::hasGlobalFuncParam  ) 
 

void PhiAssign::printCompact std::ostream &  os,
bool  html = false
[virtual]
 

Implements Assignment.

Definition at line 3326 of file statement.cpp.

References defVec, Assignment::lhs, NULL, Exp::print(), and TypingStatement::type.

void PhiAssign::putAt int  idx,
Statement d,
Exp e
 

Definition at line 4209 of file statement.cpp.

References defVec.

Referenced by StatementTest::testAddUsedLocsBool().

bool PhiAssign::search Exp search,
Exp *&  result
[virtual]
 

Implements Assignment.

Definition at line 3406 of file statement.cpp.

References defVec, Assignment::lhs, NULL, result, and Exp::search().

Referenced by searchAll(), and searchAndReplace().

bool PhiAssign::searchAll Exp search,
std::list< Exp * > &  result
[virtual]
 

Implements Assignment.

Definition at line 3434 of file statement.cpp.

References Assignment::lhs, search(), and Exp::searchAll().

bool PhiAssign::searchAndReplace Exp search,
Exp replace,
bool  cc = false
[virtual]
 

Implements Assignment.

Definition at line 3449 of file statement.cpp.

References defVec, Assignment::lhs, NULL, search(), and Exp::searchReplaceAll().

void PhiAssign::simplify  )  [virtual]
 

Implements Assignment.

Definition at line 4168 of file statement.cpp.

References defVec, Assignment::lhs, and Exp::simplify().

void PhiAssign::simplifyRefs  ) 
 


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Assignment.

Definition at line 652 of file statement.h.


Member Data Documentation

Definitions PhiAssign::defVec [private]
 

Definition at line 584 of file statement.h.

Referenced by accept(), begin(), clone(), dfaTypeAnalysis(), end(), erase(), genConstraints(), getAt(), getDefs(), getNumDefs(), getStmtAt(), printCompact(), putAt(), search(), searchAndReplace(), and simplify().


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