#include <include/statement.h>
Inheritance diagram for Assign:
Definition at line 479 of file statement.h.
Public Member Functions | |
virtual bool | accept (StmtPartModifier *visitor) |
virtual bool | accept (StmtModifier *visitor) |
virtual bool | accept (StmtExpVisitor *visitor) |
virtual bool | accept (StmtVisitor *visitor) |
Assign (Assign &o) | |
Assign () | |
Assign (Type *ty, Exp *lhs, Exp *rhs, Exp *guard=NULL) | |
Assign (Exp *lhs, Exp *rhs, Exp *guard=NULL) | |
virtual Statement * | clone () |
void | dfaTypeAnalysis (bool &ch) |
virtual void | fixSuccessor () |
virtual void | genConstraints (LocationSet &cons) |
virtual void | generateCode (HLLCode *hll, BasicBlock *pbb, int indLevel) |
Exp * | getGuard () |
int | getMemDepth () |
virtual Exp * | getRight () |
Exp *& | getRightRef () |
virtual bool | isDefinition () |
bool | isGuarded () |
bool | match (const char *pattern, std::map< std::string, Exp * > &bindings) |
virtual void | printCompact (std::ostream &os, bool html=false) |
void | rangeAnalysis (std::list< Statement * > &execution_paths) |
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) |
void | setGuard (Exp *g) |
void | setRight (Exp *e) |
virtual void | simplify () |
virtual void | simplifyAddr () |
virtual bool | usesExp (Exp *e) |
~Assign () | |
Private Attributes | |
Exp * | guard |
Exp * | rhs |
Friends | |
class | XMLProgParser |
|
Definition at line 3144 of file statement.cpp. References Statement::kind, and STMT_ASSIGN. |
|
Definition at line 3149 of file statement.cpp. References Statement::kind, and STMT_ASSIGN. |
|
Definition at line 489 of file statement.h. Referenced by clone(). |
|
Definition at line 3154 of file statement.cpp. References Type::clone(), Exp::clone(), guard, Statement::kind, NULL, rhs, STMT_ASSIGN, and TypingStatement::type. |
|
Definition at line 493 of file statement.h. |
|
Implements Assignment. Definition at line 3990 of file statement.cpp. References accept(), ExpModifier::clearMod(), Exp::isMemOf(), Assignment::lhs, StmtPartModifier::mod, and StmtPartModifier::visit(). |
|
Implements Assignment. Definition at line 3873 of file statement.cpp. References Exp::accept(), ExpModifier::clearMod(), ExpModifier::isMod(), Assignment::lhs, LOG, StmtModifier::mod, rhs, and StmtModifier::visit(). |
|
Implements Assignment. Definition at line 3750 of file statement.cpp. References Exp::accept(), StmtExpVisitor::ev, Assignment::lhs, rhs, and StmtExpVisitor::visit(). |
|
Implements Assignment. Definition at line 3204 of file statement.cpp. References StmtVisitor::visit(). Referenced by accept(), UserProc::propagateStatements(), and RtlTest::testVisitor(). |
|
Implements Assignment. Definition at line 3176 of file statement.cpp. References Assign(), Exp::clone(), Type::clone(), guard, Assignment::lhs, NULL, Statement::number, Statement::pbb, Statement::proc, rhs, and TypingStatement::type. Referenced by StatementTest::testClone(). |
|
Reimplemented from Assignment. Definition at line 794 of file dfa.cpp. References Exp::ascendType(), Exp::descendType(), Assignment::dfaTypeAnalysis(), Type::meetWith(), rhs, and TypingStatement::type. |
|
Reimplemented from Statement. Definition at line 3299 of file statement.cpp. References Exp::fixSuccessor(), Assignment::lhs, and rhs. |
|
Reimplemented from Assignment. Definition at line 3555 of file statement.cpp. References Exp::clone(), Exp::genConstraints(), Assignment::genConstraints(), LocationSet::insert(), Assignment::lhs, opTypeOf, and rhs. |
|
Reimplemented from Assignment. Definition at line 3468 of file statement.cpp. References HLLCode::AddAssignmentStatement(). |
|
Definition at line 517 of file statement.h. References guard. |
|
Reimplemented from Assignment. Definition at line 3473 of file statement.cpp. References Exp::getMemDepth(), Assignment::lhs, and rhs. |
|
|
Definition at line 500 of file statement.h. References rhs. |
|
Reimplemented from Assignment. Definition at line 521 of file statement.h. |
|
Definition at line 518 of file statement.h. |
|
|
|
Implements Assignment. Definition at line 3318 of file statement.cpp. References guard, Assignment::lhs, Exp::print(), rhs, and TypingStatement::type. |
|
Reimplemented from Statement. Definition at line 204 of file statement.cpp. References RangeMap::addRange(), Exp::clone(), Statement::getInputRanges(), Exp::getSubExp1(), Exp::getSubExp2(), Exp::isFlagCall(), Exp::isFlags(), Exp::isMemOf(), Exp::isTerminal(), Assignment::lhs, rhs, Exp::setSubExp1(), and RangeMap::substInto(). |
|
Implements Assignment. Definition at line 3401 of file statement.cpp. References Assignment::lhs, result, rhs, and Exp::search(). Referenced by searchAll(), and searchAndReplace(). |
|
Implements Assignment. Definition at line 3422 of file statement.cpp. References Assignment::lhs, rhs, search(), and Exp::searchAll(). Referenced by UserProc::searchRegularLocals(). |
|
Implements Assignment. Definition at line 3441 of file statement.cpp. References guard, Assignment::lhs, rhs, search(), and Exp::searchReplaceAll(). |
|
Definition at line 516 of file statement.h. References guard. |
|
Definition at line 503 of file statement.h. References rhs. Referenced by StmtSsaXformer::visit(), and StmtSubscripter::visit(). |
|
Implements Assignment. Definition at line 3214 of file statement.cpp. References Boomerang::get(), Exp::getOper(), Exp::getSubExp1(), guard, Exp::isIntConst(), Exp::isTrue(), Assignment::lhs, NULL, opCF, opMemOf, opNF, opOF, opZF, rhs, Exp::setSubExp1(), Exp::simplify(), and Exp::simplifyArith(). Referenced by ExpTest::testSimplifyBinary(). |
|
Reimplemented from Assignment. Definition at line 3289 of file statement.cpp. References Assignment::lhs, rhs, and Exp::simplifyAddr(). |
|
Reimplemented from Assignment. Definition at line 3486 of file statement.cpp. References Exp::isMemOf(), Exp::isRegOf(), Assignment::lhs, rhs, and Exp::search(). |
|
Reimplemented from Assignment. Definition at line 557 of file statement.h. |
|
Definition at line 481 of file statement.h. Referenced by Assign(), clone(), getGuard(), isGuarded(), printCompact(), searchAndReplace(), setGuard(), and simplify(). |
|
Definition at line 480 of file statement.h. Referenced by accept(), Assign(), clone(), dfaTypeAnalysis(), fixSuccessor(), genConstraints(), getMemDepth(), getRight(), getRightRef(), printCompact(), rangeAnalysis(), search(), searchAll(), searchAndReplace(), setRight(), simplify(), simplifyAddr(), and usesExp(). |