#include <include/statement.h>
Inheritance diagram for Assignment:
Definition at line 406 of file statement.h.
Public Member Functions | |
virtual bool | accept (StmtPartModifier *visitor)=0 |
virtual bool | accept (StmtModifier *visitor)=0 |
virtual bool | accept (StmtExpVisitor *visitor)=0 |
virtual bool | accept (StmtVisitor *visitor)=0 |
Assignment (Type *ty, Exp *lhs) | |
Assignment (Exp *lhs) | |
virtual Statement * | clone ()=0 |
virtual bool | definesLoc (Exp *loc) |
void | dfaTypeAnalysis (bool &ch) |
virtual void | genConstraints (LocationSet &cons) |
void | generateCode (HLLCode *hll, BasicBlock *pbb, int indLevel) |
virtual void | getDefinitions (LocationSet &defs) |
virtual Exp * | getLeft () |
int | getMemDepth () |
virtual Type * | getTypeFor (Exp *e) |
virtual bool | isDefinition () |
bool | operator< (const Assignment &o) |
virtual void | print (std::ostream &os, bool html=false) |
virtual void | printCompact (std::ostream &os, bool html=false)=0 |
virtual bool | search (Exp *search, Exp *&result)=0 |
virtual bool | searchAll (Exp *search, std::list< Exp * > &result)=0 |
virtual bool | searchAndReplace (Exp *search, Exp *replace, bool cc=false)=0 |
void | setLeft (Exp *e) |
virtual void | setLeftFor (Exp *forExp, Exp *newExp) |
virtual void | setTypeFor (Exp *e, Type *ty) |
virtual void | simplify ()=0 |
virtual void | simplifyAddr () |
virtual bool | usesExp (Exp *e) |
virtual | ~Assignment () |
Protected Attributes | |
Exp * | lhs |
Friends | |
class | XMLProgParser |
|
Definition at line 3132 of file statement.cpp. References Statement::getProc(), Exp::getSubExp1(), Exp::isRegOf(), lhs, and TypingStatement::type. |
|
Definition at line 3141 of file statement.cpp. |
|
Definition at line 3142 of file statement.cpp. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Reimplemented from Statement. Definition at line 4223 of file statement.cpp. References Exp::getOper(), lhs, and opAt. Referenced by UserProc::removeUnusedLocals(). |
|
Reimplemented from Statement. Reimplemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. Definition at line 802 of file dfa.cpp. References addr(), Type::asPointer(), PointerType::getPointsTo(), Proc::getProg(), Proc::getSignature(), Exp::isMemOf(), Signature::isStackLocal(), lhs, Type::meetWith(), Statement::proc, Type::resolvesToPointer(), and TypingStatement::type. Referenced by BoolAssign::dfaTypeAnalysis(), ImplicitAssign::dfaTypeAnalysis(), and Assign::dfaTypeAnalysis(). |
|
Reimplemented from Statement. Reimplemented in Assign, and PhiAssign. Definition at line 3544 of file statement.cpp. References LocationSet::insert(), lhs, opEquals, opTypeOf, and TypingStatement::type. Referenced by Assign::genConstraints(). |
|
Implements Statement. Reimplemented in Assign, and BoolAssign. Definition at line 460 of file statement.h. |
|
Reimplemented from Statement. Reimplemented in BoolAssign. Definition at line 3389 of file statement.cpp. References Exp::getOper(), LocationSet::insert(), lhs, opAt, opCF, and opZF. |
|
|
Reimplemented in Assign. |
|
Reimplemented from Statement. Definition at line 2581 of file statement.cpp. References TypingStatement::type. Referenced by UserProc::searchRegularLocals(). |
|
Implements Statement. Reimplemented in Assign, and BoolAssign. Definition at line 439 of file statement.h. |
|
Definition at line 423 of file statement.h. References lhs. |
|
Implements Statement. Definition at line 3304 of file statement.cpp. References RangeMap::empty(), Statement::number, RangeMap::print(), printCompact(), and Statement::ranges. Referenced by StatementTest::testClone(), StatementTest::testIsAssign(), StatementTest::testIsFlagAssgn(), ExpTest::testParen(), and ExpTest::testSimplifyBinary(). |
|
Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. Referenced by print(). |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Definition at line 448 of file statement.h. References lhs. Referenced by StmtSsaXformer::commonLhs(), StatementTest::testSubscriptVars(), and StmtImplicitConverter::visit(). |
|
Reimplemented from Statement. Definition at line 445 of file statement.h. References lhs. |
|
Reimplemented from Statement. Definition at line 2586 of file statement.cpp. References DEBUG_TA, Type::getCtype(), LOG, and TypingStatement::type. |
|
Implements Statement. Implemented in Assign, PhiAssign, ImplicitAssign, and BoolAssign. |
|
Reimplemented from Statement. Reimplemented in Assign. Definition at line 3294 of file statement.cpp. References lhs, and Exp::simplifyAddr(). |
|
Implements Statement. Reimplemented in Assign, and BoolAssign. Definition at line 3481 of file statement.cpp. References Exp::isMemOf(), Exp::isRegOf(), and lhs. |
|
Reimplemented from Statement. Reimplemented in Assign, PhiAssign, and BoolAssign. Definition at line 474 of file statement.h. |
|