BoolAssign Class Reference

#include <include/statement.h>

Inheritance diagram for BoolAssign:

Assignment TypingStatement Statement List of all members.

Detailed Description

Definition at line 699 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)
 BoolAssign (int size)
virtual Statementclone ()
virtual void dfaTypeAnalysis (bool &ch)
virtual void generateCode (HLLCode *hll, BasicBlock *pbb, int indLevel)
BRANCH_TYPE getCond ()
ExpgetCondExpr ()
virtual void getDefinitions (LocationSet &def)
virtual ExpgetRight ()
int getSize ()
virtual bool isDefinition ()
bool isFloat ()
void makeSigned ()
virtual void printCompact (std::ostream &os=std::cout, bool html=false)
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 setCondExpr (Exp *pss)
void setCondExprND (Exp *e)
void setCondType (BRANCH_TYPE cond, bool usesFloat=false)
void setFloat (bool b)
void setLeftFromList (std::list< Statement * > *stmts)
virtual void simplify ()
virtual bool usesExp (Exp *e)
virtual ~BoolAssign ()

Private Attributes

bool bFloat
BRANCH_TYPE jtCond
ExppCond
int size

Friends

class XMLProgParser


Constructor & Destructor Documentation

BoolAssign::BoolAssign int  size  ) 
 

Definition at line 2927 of file statement.cpp.

References Statement::kind, and STMT_BOOLASSIGN.

Referenced by clone().

BoolAssign::~BoolAssign  )  [virtual]
 

Definition at line 2938 of file statement.cpp.

References pCond.


Member Function Documentation

bool BoolAssign::accept StmtPartModifier visitor  )  [virtual]
 

Implements Assignment.

Definition at line 4095 of file statement.cpp.

References Exp::accept(), Assignment::lhs, StmtPartModifier::mod, pCond, and StmtPartModifier::visit().

bool BoolAssign::accept StmtModifier visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3903 of file statement.cpp.

References accept(), Exp::accept(), Exp::isMemOf(), Assignment::lhs, StmtModifier::mod, pCond, and StmtModifier::visit().

bool BoolAssign::accept StmtExpVisitor visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3862 of file statement.cpp.

References Exp::accept(), StmtExpVisitor::ev, pCond, and StmtExpVisitor::visit().

bool BoolAssign::accept StmtVisitor visitor  )  [virtual]
 

Implements Assignment.

Definition at line 3063 of file statement.cpp.

References StmtVisitor::visit().

Referenced by accept(), and RtlTest::testVisitor().

Statement * BoolAssign::clone  )  [virtual]
 

Implements Assignment.

Definition at line 3048 of file statement.cpp.

References bFloat, BoolAssign(), Exp::clone(), jtCond, NULL, Statement::number, Statement::pbb, pCond, Statement::proc, and size.

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

Reimplemented from Assignment.

Definition at line 832 of file dfa.cpp.

References Assignment::dfaTypeAnalysis().

void BoolAssign::generateCode HLLCode hll,
BasicBlock pbb,
int  indLevel
[virtual]
 

Reimplemented from Assignment.

Definition at line 3067 of file statement.cpp.

References HLLCode::AddAssignmentStatement(), Exp::clone(), Assignment::lhs, opTern, and pCond.

BRANCH_TYPE BoolAssign::getCond  )  [inline]
 

Definition at line 721 of file statement.h.

References jtCond.

Exp * BoolAssign::getCondExpr  ) 
 

Definition at line 2986 of file statement.cpp.

References pCond.

Referenced by getRight(), StmtSsaXformer::visit(), UsedLocsVisitor::visit(), and StmtConscriptSetter::visit().

void BoolAssign::getDefinitions LocationSet def  )  [virtual]
 

Reimplemented from Assignment.

Definition at line 3081 of file statement.cpp.

References Assignment::getLeft(), and LocationSet::insert().

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

Definition at line 745 of file statement.h.

References getCondExpr().

int BoolAssign::getSize  )  [inline]
 

Definition at line 731 of file statement.h.

References size.

virtual bool BoolAssign::isDefinition  )  [inline, virtual]
 

Reimplemented from Assignment.

Definition at line 743 of file statement.h.

bool BoolAssign::isFloat  )  [inline]
 

Definition at line 722 of file statement.h.

References bFloat.

void BoolAssign::makeSigned  ) 
 

Definition at line 2966 of file statement.cpp.

References BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, BRANCH_JUG, BRANCH_JUGE, BRANCH_JUL, BRANCH_JULE, and jtCond.

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

Implements Assignment.

Definition at line 3007 of file statement.cpp.

References bFloat, BRANCH_JE, BRANCH_JMI, BRANCH_JNE, BRANCH_JNOF, BRANCH_JOF, BRANCH_JPAR, BRANCH_JPOS, BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, BRANCH_JUG, BRANCH_JUGE, BRANCH_JUL, BRANCH_JULE, jtCond, Assignment::lhs, pCond, and Exp::print().

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

Implements Assignment.

Definition at line 3094 of file statement.cpp.

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

Referenced by searchAll(), and searchAndReplace().

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

Implements Assignment.

Definition at line 3102 of file statement.cpp.

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

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

Implements Assignment.

Definition at line 3111 of file statement.cpp.

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

void BoolAssign::setCondExpr Exp pss  ) 
 

Definition at line 2996 of file statement.cpp.

References pCond.

Referenced by setCondType(), StatementTest::testAddUsedLocsBool(), StatementTest::testSubscriptVars(), and StmtSsaXformer::visit().

void BoolAssign::setCondExprND Exp e  )  [inline]
 

Definition at line 729 of file statement.h.

References pCond.

void BoolAssign::setCondType BRANCH_TYPE  cond,
bool  usesFloat = false
 

Definition at line 2953 of file statement.cpp.

References bFloat, jtCond, opFlags, and setCondExpr().

void BoolAssign::setFloat bool  b  )  [inline]
 

Definition at line 723 of file statement.h.

References bFloat.

void BoolAssign::setLeftFromList std::list< Statement * > *  stmts  ) 
 

Definition at line 3121 of file statement.cpp.

References Assignment::lhs, and STMT_ASSIGN.

Referenced by StatementTest::testAddUsedLocsBool().

void BoolAssign::simplify  )  [virtual]
 

Implements Assignment.

Definition at line 3076 of file statement.cpp.

References condToRelational(), jtCond, and pCond.

bool BoolAssign::usesExp Exp e  )  [virtual]
 

Reimplemented from Assignment.

Definition at line 3086 of file statement.cpp.

References Exp::isMemOf(), Assignment::lhs, pCond, and Exp::search().


Friends And Related Function Documentation

friend class XMLProgParser [friend]
 

Reimplemented from Assignment.

Definition at line 755 of file statement.h.


Member Data Documentation

bool BoolAssign::bFloat [private]
 

Definition at line 703 of file statement.h.

Referenced by clone(), isFloat(), XMLProgParser::persistToXML(), printCompact(), setCondType(), and setFloat().

BRANCH_TYPE BoolAssign::jtCond [private]
 

Definition at line 700 of file statement.h.

Referenced by clone(), getCond(), makeSigned(), XMLProgParser::persistToXML(), printCompact(), setCondType(), and simplify().

Exp* BoolAssign::pCond [private]
 

Definition at line 701 of file statement.h.

Referenced by accept(), clone(), generateCode(), getCondExpr(), XMLProgParser::persistToXML(), printCompact(), search(), searchAll(), searchAndReplace(), setCondExpr(), setCondExprND(), simplify(), usesExp(), and ~BoolAssign().

int BoolAssign::size [private]
 

Definition at line 704 of file statement.h.

Referenced by clone(), getSize(), and XMLProgParser::persistToXML().


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