#include <include/statement.h>
Inheritance diagram for BranchStatement:

Definition at line 901 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) | 
| BranchStatement () | |
| virtual Statement * | clone () | 
| void | dfaTypeAnalysis (bool &ch) | 
| virtual void | genConstraints (LocationSet &cons) | 
| virtual void | generateCode (HLLCode *hll, BasicBlock *pbb, int indLevel) | 
| BRANCH_TYPE | getCond () | 
| Exp * | getCondExpr () | 
| PBB | getFallBB () | 
| RangeMap & | getRanges2Ref () | 
| RangeMap & | getRangesForOutEdgeTo (PBB out) | 
| PBB | getTakenBB () | 
| bool | isFloat () | 
| void | limitOutputWithCondition (RangeMap &output, Exp *e) | 
| void | makeSigned () | 
| virtual void | print (std::ostream &os=std::cout, 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 | setCondExpr (Exp *pe) | 
| void | setCondExprND (Exp *e) | 
| void | setCondType (BRANCH_TYPE cond, bool usesFloat=false) | 
| void | setFallBB (PBB bb) | 
| void | setFloat (bool b) | 
| void | setRanges2 (RangeMap &r) | 
| void | setTakenBB (PBB bb) | 
| virtual void | simplify () | 
| virtual bool | usesExp (Exp *e) | 
| virtual | ~BranchStatement () | 
| Private Attributes | |
| bool | bFloat | 
| BRANCH_TYPE | jtCond | 
| Exp * | pCond | 
| RangeMap | ranges2 | 
| int | size | 
| Friends | |
| class | XMLProgParser | 
| 
 | 
| 
 Definition at line 1209 of file statement.cpp. References Statement::kind, and STMT_BRANCH. Referenced by clone(). | 
| 
 | 
| 
 Definition at line 1219 of file statement.cpp. References pCond. | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 4035 of file statement.cpp. References Exp::accept(), StmtPartModifier::mod, pCond, GotoStatement::pDest, and StmtPartModifier::visit(). | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 3923 of file statement.cpp. References Exp::accept(), StmtModifier::mod, pCond, GotoStatement::pDest, and StmtModifier::visit(). | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 3795 of file statement.cpp. References Exp::accept(), StmtExpVisitor::ev, pCond, GotoStatement::pDest, and StmtExpVisitor::visit(). | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 1517 of file statement.cpp. References StmtVisitor::visit(). Referenced by RtlTest::testVisitor(). | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 1501 of file statement.cpp. References bFloat, BranchStatement(), Exp::clone(), jtCond, GotoStatement::m_isComputed, NULL, Statement::number, Statement::pbb, pCond, GotoStatement::pDest, and Statement::proc. | 
| 
 | 
| 
 Reimplemented from Statement. Definition at line 822 of file dfa.cpp. References Exp::descendType(), and pCond. | 
| 
 | 
| 
 Reimplemented from Statement. Definition at line 3679 of file statement.cpp. References bFloat, BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, BRANCH_JUG, BRANCH_JUGE, BRANCH_JUL, BRANCH_JULE, Exp::getArity(), jtCond, LOG, NULL, Statement::number, pCond, and Type::setSize(). | 
| 
 | ||||||||||||||||
| 
 Reimplemented from GotoStatement. Definition at line 1521 of file statement.cpp. | 
| 
 | 
| 
 Definition at line 926 of file statement.h. References jtCond. | 
| 
 | 
| 
 Definition at line 1324 of file statement.cpp. References pCond. Referenced by BasicBlock::getCond(), and StmtConscriptSetter::visit(). | 
| 
 | 
| 
 Definition at line 1339 of file statement.cpp. References GotoStatement::getFixedDest(), NO_ADDRESS, and NULL. | 
| 
 | 
| 
 Definition at line 966 of file statement.h. References ranges2. | 
| 
 | 
| 
 Definition at line 563 of file statement.cpp. References GotoStatement::getFixedDest(), BasicBlock::getLowAddr(), NO_ADDRESS, Statement::ranges, and ranges2. | 
| 
 | 
| 
 Definition at line 1374 of file statement.cpp. References GotoStatement::getFixedDest(), NO_ADDRESS, and NULL. | 
| 
 | 
| 
 Definition at line 927 of file statement.h. References bFloat. | 
| 
 | ||||||||||||
| 
 Definition at line 300 of file statement.cpp. References RangeMap::addRange(), Range::getBase(), Range::getLowerBound(), Exp::getOper(), RangeMap::getRange(), Range::getStride(), Exp::getSubExp1(), Exp::getSubExp2(), Range::getUpperBound(), RangeMap::hasRange(), Exp::isIntConst(), opEquals, opGtr, opGtrEq, opGtrEqUns, opGtrUns, opLess, opLessEq, opLessEqUns, opLessUns, and opNotEqual. | 
| 
 | 
| 
 Definition at line 1304 of file statement.cpp. References BRANCH_JSG, BRANCH_JSGE, BRANCH_JSL, BRANCH_JSLE, BRANCH_JUG, BRANCH_JUGE, BRANCH_JUL, BRANCH_JULE, and jtCond. | 
| 
 | ||||||||||||
| 
 Reimplemented from GotoStatement. Definition at line 1450 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, GotoStatement::getFixedDest(), Exp::isIntConst(), jtCond, NULL, Statement::number, pCond, GotoStatement::pDest, and Exp::print(). | 
| 
 | 
| 
 Reimplemented from Statement. Definition at line 354 of file statement.cpp. References Exp::clone(), DEBUG_RANGE_ANALYSIS, Range::getBase(), Statement::getInputRanges(), Exp::getOper(), RangeMap::getRange(), Exp::getSubExp1(), Exp::getSubExp2(), RangeMap::hasRange(), Exp::isFlagCall(), Exp::isFlags(), LOG, NULL, opEquals, opGtr, opGtrEq, opGtrEqUns, opGtrUns, opLess, opLessEq, opLessEqUns, opLessUns, opList, opNotEqual, pCond, and VERBOSE. | 
| 
 | ||||||||||||
| 
 Reimplemented from GotoStatement. Definition at line 1408 of file statement.cpp. References NULL, pCond, result, and Exp::search(). Referenced by searchAll(), and searchAndReplace(). | 
| 
 | ||||||||||||
| 
 Reimplemented from GotoStatement. Definition at line 1438 of file statement.cpp. References pCond, search(), and Exp::searchAll(). | 
| 
 | ||||||||||||||||
| 
 Reimplemented from GotoStatement. Definition at line 1422 of file statement.cpp. References pCond, search(), GotoStatement::searchAndReplace(), and Exp::searchReplaceAll(). | 
| 
 | 
| 
 Definition at line 1334 of file statement.cpp. References pCond. Referenced by ST20Decoder::decodeInstruction(), genBSFR(), setCondType(), StatementTest::testAddUsedLocsBranch(), StatementTest::testSubscriptVars(), and toBranches(). | 
| 
 | 
| 
 Definition at line 934 of file statement.h. References pCond. | 
| 
 | ||||||||||||
| 
 Definition at line 1234 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, Boomerang::get(), jtCond, NULL, opEquals, opFflags, opFlags, opGtr, opGtrEq, opGtrEqUns, opGtrUns, opLess, opLessEq, opLessEqUns, opLessUns, opNotEqual, and setCondExpr(). Referenced by SparcDecoder::createBranchRtl(), and genBSFR(). | 
| 
 | 
| 
 Definition at line 1354 of file statement.cpp. References BasicBlock::addInEdge(), GotoStatement::getFixedDest(), NO_ADDRESS, and NULL. | 
| 
 | 
| 
 Definition at line 928 of file statement.h. References bFloat. | 
| 
 | 
| 
 Definition at line 967 of file statement.h. References ranges2. | 
| 
 | 
| 
 Definition at line 1388 of file statement.cpp. References BasicBlock::addInEdge(), GotoStatement::getFixedDest(), NO_ADDRESS, and NULL. | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 1783 of file statement.cpp. References bFloat, condToRelational(), jtCond, and pCond. | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 1525 of file statement.cpp. References pCond, Exp::search(), and tmp. | 
| 
 | 
| 
 Reimplemented from GotoStatement. Definition at line 979 of file statement.h. | 
| 
 | 
| 
 Definition at line 904 of file statement.h. Referenced by clone(), genConstraints(), isFloat(), print(), setCondType(), setFloat(), and simplify(). | 
| 
 | 
| 
 Definition at line 902 of file statement.h. Referenced by clone(), genConstraints(), getCond(), makeSigned(), print(), setCondType(), and simplify(). | 
| 
 | 
| 
 Definition at line 903 of file statement.h. Referenced by accept(), clone(), dfaTypeAnalysis(), genConstraints(), getCondExpr(), print(), rangeAnalysis(), search(), searchAll(), searchAndReplace(), setCondExpr(), setCondExprND(), simplify(), usesExp(), and ~BranchStatement(). | 
| 
 | 
| 
 Definition at line 908 of file statement.h. Referenced by getRanges2Ref(), getRangesForOutEdgeTo(), and setRanges2(). | 
| 
 | 
| 
 Definition at line 907 of file statement.h. | 
 1.4.6
 1.4.6