#include <include/basicblock.h>
Definition at line 129 of file basicblock.h.
Public Types | |
typedef std::list< Exp * >::iterator | elit |
typedef std::list< RTL * >::iterator | rtlit |
Get first/next statement this BB Somewhat intricate because of the post call semantics; these funcs save a lot of duplicated, easily-bugged code. | |
typedef std::list< RTL * >::reverse_iterator | rtlrit |
Public Member Functions | |
void | addInEdge (PBB newInEdge) |
BasicBlock (const BasicBlock &bb) | |
BasicBlock () | |
bool | calcLiveness (ConnectionGraph &ig, UserProc *proc) |
bool | decodeIndirectJmp (UserProc *proc) |
void | deleteEdge (PBB edge) |
void | deleteInEdge (PBB edge) |
void | deleteInEdge (std::vector< PBB >::iterator &it) |
unsigned | DFTOrder (int &first, int &last) |
void | dump () |
int | findNumCases () |
void | generateBodyCode (HLLCode &hll, bool dup=false) |
void | generateCode (HLLCode *hll, int indLevel, PBB latch, std::list< PBB > &followSet, std::list< PBB > &gotoSet, UserProc *proc) |
ADDRESS | getCallDest () |
Proc * | getCallDestProc () |
Exp * | getCond () throw (LastStatementNotABranchError) |
PBB | getCorrectOutEdge (ADDRESS a) |
Exp * | getDest () throw (LastStatementNotAGotoError) |
Proc * | getDestProc () |
Statement * | getFirstStmt () |
Statement * | getFirstStmt (rtlit &rit, StatementList::iterator &sit) |
ADDRESS | getHiAddr () |
std::vector< PBB > & | getInEdges () |
int | getLabel () |
std::string & | getLabelStr () |
RTL * | getLastRtl () |
Statement * | getLastStmt () |
Statement * | getLastStmt (rtlrit &rit, StatementList::reverse_iterator &sit) |
void | getLiveOut (LocationSet &live, LocationSet &phiLocs) |
BasicBlock * | getLoopBody () |
ADDRESS | getLowAddr () |
Statement * | getNextStmt (rtlit &rit, StatementList::iterator &sit) |
int | getNumInEdges () |
int | getNumOutEdges () |
PBB | getOutEdge (unsigned int i) |
std::vector< PBB > & | getOutEdges () |
Statement * | getPrevStmt (rtlrit &rit, StatementList::reverse_iterator &sit) |
std::list< RTL * > * | getRTLs () |
RTL * | getRTLWithStatement (Statement *stmt) |
void | getStatements (StatementList &stmts) |
char * | getStmtNumber () |
Get the statement number for the first BB as a character array. | |
BBTYPE | getType () |
bool | isBackEdge (int inEdge) |
bool | isCaseOption () |
bool | isJmpZ (PBB dest) |
bool | isJumpReqd () |
bool | isLabelNeeded () |
bool | isPostCall () |
bool | isTraversed () |
void | prependStmt (Statement *s, UserProc *proc) |
void | print (std::ostream &os, bool html=false) |
char * | prints () |
void | printToLog () |
void | processSwitch (UserProc *proc) |
void | resetDFASets () |
unsigned | RevDFTOrder (int &first, int &last) |
void | setCond (Exp *e) throw (LastStatementNotABranchError) |
void | setInEdge (int i, PBB newIn) |
void | setJumpReqd () |
void | setLabelNeeded (bool b) |
void | setLabelStr (std::string &s) |
void | setOutEdge (int i, PBB newInEdge) |
void | setTraversed (bool bTraversed) |
void | simplify () |
bool | undoComputedBB (Statement *stmt) |
void | updateType (BBTYPE bbType, int iNumOutEdges) |
int | whichPred (PBB pred) |
~BasicBlock () | |
Static Public Member Functions | |
static void | doAvail (StatementSet &s, PBB inEdge) |
static bool | lessAddress (PBB bb1, PBB bb2) |
static bool | lessFirstDFT (PBB bb1, PBB bb2) |
static bool | lessLastDFT (PBB bb1, PBB bb2) |
Public Attributes | |
PBB | m_caseHead |
PBB | m_condFollow |
int | m_DFTfirst |
int | m_DFTlast |
int | m_DFTrevfirst |
int | m_DFTrevlast |
PBB | m_latchNode |
SBBTYPE | m_loopCondType |
PBB | m_loopFollow |
PBB | m_loopHead |
SBBTYPE | m_structType |
bool | overlappedRegProcessingDone |
Protected Member Functions | |
void | addLiveIn (Exp *e) |
void | addOutEdge (PBB bb) |
void | addRTL (RTL *rtl) |
bool | allParentsGenerated () |
void | emitGotoAndLabel (HLLCode *hll, int indLevel, PBB dest) |
PBB | getCaseHead () |
PBB | getCondFollow () |
condType | getCondType () |
PBB | getLatchNode () |
PBB | getLoopFollow () |
PBB | getLoopHead () |
loopType | getLoopType () |
structType | getStructType () |
unstructType | getUnstructType () |
bool | hasBackEdge () |
bool | hasBackEdgeTo (BasicBlock *dest) |
char * | indent (int indLevel, int extra=0) |
bool | inLoop (PBB header, PBB latch) |
bool | isAncestorOf (BasicBlock *other) |
bool | isIn (std::list< PBB > &set, PBB bb) |
bool | isLatchNode () |
void | setCaseHead (PBB head, PBB follow) |
void | setCondFollow (PBB other) |
void | setCondType (condType l) |
void | setLatchNode (PBB latch) |
void | setLoopFollow (PBB other) |
void | setLoopHead (PBB head) |
void | setLoopStamps (int &time, std::vector< PBB > &order) |
void | setLoopType (loopType l) |
void | setRevLoopStamps (int &time) |
void | setRevOrder (std::vector< PBB > &order) |
void | setStructType (structType s) |
void | setUnstructType (unstructType us) |
void | WriteBB (HLLCode *hll, int indLevel) |
Protected Attributes | |
PBB | caseHead |
PBB | condFollow |
condType | cType |
bool | hllLabel |
PBB | immPDom |
int | indentLevel |
int | inEdgesVisited |
char * | labelStr |
PBB | latchNode |
LocationSet | liveIn |
PBB | loopFollow |
PBB | loopHead |
int | loopStamps [2] |
loopType | lType |
bool | m_bIncomplete |
bool | m_bJumpReqd |
int | m_iLabelNum |
std::vector< PBB > | m_InEdges |
int | m_iNumInEdges |
int | m_iNumOutEdges |
bool | m_iTraversed |
bool | m_labelneeded |
std::string | m_labelStr |
BBTYPE | m_nodeType |
std::vector< PBB > | m_OutEdges |
std::list< RTL * > * | m_pRtls |
int | numForwardInEdges |
int | ord |
int | revLoopStamps [2] |
int | revOrd |
structType | sType |
travType | traversed |
unstructType | usType |
Private Member Functions | |
BasicBlock (std::list< RTL * > *pRtls, BBTYPE bbType, int iNumOutEdges) | |
void | setRTLs (std::list< RTL * > *rtls) |
Friends | |
class | Cfg |
class | XMLProgParser |
Classes | |
class | LastStatementNotABranchError |
class | LastStatementNotAGotoError |
|
Definition at line 412 of file basicblock.h. |
|
Get first/next statement this BB Somewhat intricate because of the post call semantics; these funcs save a lot of duplicated, easily-bugged code.
Definition at line 410 of file basicblock.h. |
|
Definition at line 411 of file basicblock.h. |
|
Definition at line 64 of file basicblock.cpp. |
|
Definition at line 95 of file basicblock.cpp. |
|
Definition at line 120 of file basicblock.cpp. |
|
Definition at line 154 of file basicblock.cpp. References m_OutEdges, and setRTLs(). |
|
|
Definition at line 550 of file basicblock.h. References LocationSet::insert(), and liveIn. |
|
Definition at line 544 of file basicblock.h. References m_OutEdges. |
|
Definition at line 545 of file basicblock.h. |
|
Definition at line 986 of file basicblock.cpp. References DFS_CODEGEN, hasBackEdgeTo(), m_InEdges, and traversed. Referenced by generateCode(). |
|
Definition at line 1644 of file basicblock.cpp. References LocationSet::addSubscript(), checkForOverlap(), DEBUG_LIVENESS, getLiveOut(), LOG, m_pRtls, LocationSet::makeDiff(), and LocationSet::prints(). Referenced by Cfg::findInterferences(). |
|
Definition at line 2005 of file basicblock.cpp. References PhiAssign::begin(), StatementSet::begin(), PhiAssign::end(), StatementSet::exists(), getFirstStmt(), getNextStmt(), Statement::getNumber(), StatementSet::insert(), Statement::isPhi(), NULL, and StatementSet::remove(). |
|
Definition at line 551 of file basicblock.cpp. References deleteInEdge(), m_iNumOutEdges, and m_OutEdges. |
|
Definition at line 541 of file basicblock.cpp. References deleteInEdge(), and m_InEdges. |
|
Definition at line 536 of file basicblock.cpp. References m_InEdges, and m_iNumInEdges. Referenced by deleteEdge(), and deleteInEdge(). |
|
Definition at line 571 of file basicblock.cpp. References child(), m_DFTfirst, m_iTraversed, and m_OutEdges. Referenced by Cfg::establishDFTOrder(). |
|
|
|
Definition at line 297 of file basicblock.cpp. References print(). |
|
Definition at line 999 of file basicblock.cpp. References HLLCode::AddBreak(), HLLCode::AddContinue(), HLLCode::AddGoto(), hllLabel, loopFollow, loopHead, and ord. Referenced by generateCode(). |
|
Definition at line 1960 of file basicblock.cpp. References Exp::getArity(), Exp::getOper(), Exp::isIntConst(), m_InEdges, opGtr, opGtrEq, opGtrEqUns, opGtrUns, opLess, opLessEq, opLessEqUns, opLessUns, and TWOWAY. |
|
|
|
|
Definition at line 662 of file basicblock.cpp. References CALL, RTL::getList(), m_nodeType, m_pRtls, and STMT_CALL. |
|
Definition at line 677 of file basicblock.cpp. References CALL, RTL::getList(), m_nodeType, m_pRtls, and STMT_CALL. |
|
Definition at line 466 of file basicblock.h. References caseHead. |
|
Definition at line 800 of file basicblock.cpp. References BranchStatement::getCondExpr(), RTL::getHlStmt(), Statement::getKind(), LOG, m_pRtls, STMT_BRANCH, and VERBOSE. Referenced by generateCode(). |
|
Definition at line 485 of file basicblock.h. References condFollow. Referenced by Cfg::findLoopFollow(). |
|
Definition at line 1564 of file basicblock.cpp. |
|
Definition at line 505 of file basicblock.cpp. References m_OutEdges. |
|
Definition at line 814 of file basicblock.cpp. References GotoStatement::getDest(), RTL::getHlStmt(), CaseStatement::getSwitchInfo(), LOG, m_pRtls, SWITCH_INFO::pSwitchVar, and VERBOSE. Referenced by SparcFrontEnd::case_DD(). |
|
Definition at line 1420 of file basicblock.cpp. References CallStatement::getDestProc(), Statement::getKind(), m_pRtls, NULL, and STMT_CALL. |
|
Definition at line 745 of file basicblock.cpp. Referenced by decodeIndirectJmp(), and getStmtNumber(). |
|
Definition at line 695 of file basicblock.cpp. Referenced by FrontEnd::createReturnBlock(), DataFlow::findLiveAtDomPhi(), DataFlow::placePhiFunctions(), UserProc::rangeAnalysis(), DataFlow::renameBlockVars(), and Statement::updateRanges(). |
|
Definition at line 405 of file basicblock.cpp. Referenced by Cfg::label(), print(), and UserProc::processDecodedICTs(). |
|
Definition at line 439 of file basicblock.cpp. References m_InEdges. Referenced by dumpBB(), UserProc::isNoReturn(), JunctionStatement::rangeAnalysis(), and updateWorkListRev(). |
|
Definition at line 188 of file basicblock.cpp. References m_iLabelNum. |
|
Definition at line 162 of file basicblock.h. References m_labelStr. |
|
Definition at line 419 of file basicblock.h. Referenced by UserProc::processDecodedICTs(). |
|
Definition at line 759 of file basicblock.cpp. |
|
Definition at line 732 of file basicblock.cpp. Referenced by UserProc::markAsNonChildless(), UserProc::processDecodedICTs(), and UserProc::updateForUseChange(). |
|
Definition at line 465 of file basicblock.h. References latchNode. Referenced by Cfg::determineLoopType(), Cfg::findLoopFollow(), and Cfg::tagNodesInLoop(). |
|
Definition at line 1706 of file basicblock.cpp. References LocationSet::clear(), Exp::clone(), DEBUG_LIVENESS, Assignment::getLeft(), RTL::getList(), getLowAddr(), PhiAssign::getStmtAt(), LocationSet::insert(), LOG, m_OutEdges, LocationSet::makeUnion(), and NULL. Referenced by calcLiveness(). |
|
Definition at line 880 of file basicblock.cpp. References ENDLESSLOOP, m_iNumOutEdges, m_loopFollow, m_OutEdges, m_structType, POSTTESTLOOP, and PRETESTLOOP. |
|
Definition at line 482 of file basicblock.h. References loopFollow. |
|
Definition at line 462 of file basicblock.h. References loopHead. Referenced by Cfg::findLoopFollow(). |
|
Definition at line 1554 of file basicblock.cpp. References Loop, LoopCond, lType, and sType. Referenced by Cfg::findLoopFollow(). |
|
Definition at line 382 of file basicblock.cpp. Referenced by Cfg::commonPDom(), UserProc::decompile(), getLiveOut(), BranchStatement::getRangesForOutEdgeTo(), Cfg::label(), lessAddress(), print(), BlockSyntaxNode::printAST(), UserProc::setEntryBB(), CfgTest::testDominators(), CfgTest::testSemiDominators(), Statement::updateRanges(), Cfg::wellFormCfg(), and WriteBB(). |
|
Definition at line 708 of file basicblock.cpp. Referenced by decodeIndirectJmp(), DataFlow::findLiveAtDomPhi(), DataFlow::placePhiFunctions(), and DataFlow::renameBlockVars(). |
|
Definition at line 224 of file basicblock.h. References m_iNumInEdges. Referenced by Statement::getInputRanges(), UserProc::initStatements(), UserProc::isNoReturn(), and JunctionStatement::rangeAnalysis(). |
|
Definition at line 246 of file basicblock.h. References m_iNumOutEdges. Referenced by BlockSyntaxNode::getNumOutEdges(), and Statement::updateRanges(). |
|
Definition at line 491 of file basicblock.cpp. References m_OutEdges. Referenced by PostTestedLoopSyntaxNode::getOutEdge(), PretestedLoopSyntaxNode::getOutEdge(), IfThenSyntaxNode::getOutEdge(), BlockSyntaxNode::getOutEdge(), isCaseOption(), IfThenSyntaxNode::printAST(), and Statement::updateRanges(). |
|
Definition at line 449 of file basicblock.cpp. References m_OutEdges. Referenced by DataFlow::computeDF(), DataFlow::DFS(), Cfg::findImmedPDom(), Cfg::findLoopFollow(), isCaseOption(), and Cfg::joinBB(). |
|
Definition at line 720 of file basicblock.cpp. |
|
Definition at line 416 of file basicblock.cpp. References m_pRtls. Referenced by UserProc::assignProcsToCalls(), UserProc::decompile(), UserProc::finalSimplify(), getStatements(), UserProc::insertAssignAfter(), UserProc::insertStatementAfter(), PentiumFrontEnd::processFloatCode(), PentiumFrontEnd::processStringInst(), and UserProc::setImplicitRef(). |
|
Definition at line 420 of file basicblock.cpp. |
|
Definition at line 774 of file basicblock.cpp. References StatementList::append(), getRTLs(), and NULL. |
|
Get the statement number for the first BB as a character array. If not possible (e.g. because the BB has no statements), return a unique string (e.g. bb8048c10) Definition at line 1586 of file basicblock.cpp. References getFirstStmt(), and Statement::getNumber(). |
|
Definition at line 469 of file basicblock.h. References sType. Referenced by Cfg::findLoopFollow(). |
|
Definition at line 240 of file basicblock.cpp. References m_nodeType. Referenced by UserProc::decompile(), Cfg::determineLoopType(), generateCode(), SyntaxNode::isBranch(), SyntaxNode::isGoto(), BlockSyntaxNode::printAST(), setCaseHead(), and setStructType(). |
|
Definition at line 1539 of file basicblock.cpp. |
|
Definition at line 491 of file basicblock.h. References hasBackEdgeTo(), and m_OutEdges. |
|
Definition at line 979 of file basicblock.cpp. References isAncestorOf(). Referenced by allParentsGenerated(), hasBackEdge(), and setCaseHead(). |
|
|
|
Definition at line 1569 of file basicblock.cpp. References latchNode, loopStamps, and revLoopStamps. |
|
Definition at line 888 of file basicblock.cpp. References loopStamps, and revLoopStamps. Referenced by hasBackEdgeTo(). |
|
Definition at line 361 of file basicblock.cpp. References m_DFTfirst, m_DFTlast, and m_InEdges. |
|
Definition at line 192 of file basicblock.cpp. References caseHead, getOutEdge(), and getOutEdges(). |
|
Definition at line 507 of file basicblock.h. Referenced by generateCode(). |
|
Definition at line 854 of file basicblock.cpp. References BRANCH_JE, BRANCH_JNE, RTL::getList(), m_OutEdges, m_pRtls, and STMT_BRANCH. |
|
Definition at line 275 of file basicblock.cpp. References m_bJumpReqd. |
|
Definition at line 164 of file basicblock.h. References m_labelneeded. |
|
Definition at line 464 of file basicblock.h. References latchNode, and loopHead. Referenced by generateCode(). |
|
|
|
Definition at line 206 of file basicblock.cpp. References m_iTraversed. |
|
Definition at line 626 of file basicblock.cpp. References getLowAddr(). Referenced by Cfg::sortByAddress(). |
|
Definition at line 638 of file basicblock.cpp. References m_DFTfirst. Referenced by Cfg::sortByFirstDFT(). |
|
Definition at line 651 of file basicblock.cpp. References m_DFTlast. Referenced by Cfg::sortByLastDFT(). |
|
Definition at line 1599 of file basicblock.cpp. References m_pRtls, Statement::setBB(), and Statement::setProc(). Referenced by Cfg::findImplicitAssign(). |
|
Definition at line 308 of file basicblock.cpp. References CALL, COMPCALL, COMPJUMP, FALL, getHiAddr(), getLowAddr(), INVALID, m_iLabelNum, m_InEdges, m_nodeType, m_OutEdges, m_pRtls, NWAY, ONEWAY, RET, and TWOWAY. Referenced by dump(), generateCode(), printBB(), prints(), printToLog(), and FrontSparcTest::testDelaySlot(). |
|
Definition at line 287 of file basicblock.cpp. References debug_buffer, DEBUG_BUFSIZE, and print(). Referenced by Cfg::splitForBranch(). |
|
Definition at line 355 of file basicblock.cpp. |
|
Definition at line 2302 of file basicblock.cpp. References SWITCH_INFO::chForm, Boomerang::get(), UserProc::getCFG(), RTL::getHlStmt(), Proc::getProg(), CaseStatement::getSwitchInfo(), SWITCH_INFO::iLower, SWITCH_INFO::iNumTable, SWITCH_INFO::iUpper, LOG, m_pRtls, NWAY, Prog::readNative4(), updateType(), and SWITCH_INFO::uTable. Referenced by SparcFrontEnd::case_DD(). |
|
|
|
Definition at line 598 of file basicblock.cpp. References m_DFTrevfirst, m_InEdges, and m_iTraversed. Referenced by Cfg::establishRevDFTOrder(). |
|
Definition at line 1490 of file basicblock.cpp. References caseHead, condFollow, DFS_CASE, getType(), hasBackEdgeTo(), m_OutEdges, NWAY, setCaseHead(), and traversed. Referenced by setCaseHead(). |
|
Definition at line 836 of file basicblock.cpp. References RTL::getList(), and STMT_BRANCH. |
|
Definition at line 484 of file basicblock.h. References condFollow. |
|
Definition at line 1559 of file basicblock.cpp. |
|
Definition at line 461 of file basicblock.cpp. References m_InEdges. |
|
Definition at line 265 of file basicblock.cpp. References m_bJumpReqd. Referenced by SparcFrontEnd::case_SCDAN(), and case_SCDAN_NCT(). |
|
Definition at line 165 of file basicblock.h. References m_labelneeded. |
|
Definition at line 163 of file basicblock.h. References m_labelStr. |
|
Definition at line 463 of file basicblock.h. References latchNode. |
|
Definition at line 481 of file basicblock.h. References loopFollow. Referenced by Cfg::findLoopFollow(). |
|
Definition at line 461 of file basicblock.h. References loopHead. |
|
Definition at line 1432 of file basicblock.cpp. References DFS_LNUM, loopStamps, m_OutEdges, and traversed. Referenced by Cfg::setTimeStamps(). |
|
Definition at line 1544 of file basicblock.cpp. References latchNode, Loop, LoopCond, lType, PostTested, PreTested, and sType. Referenced by Cfg::determineLoopType(). |
|
Definition at line 474 of file basicblock.cpp. References m_OutEdges. Referenced by FrontEnd::appendSyntheticReturn(), StatementTest::testEndlessLoop(), StatementTest::testFlow(), StatementTest::testKill(), StatementTest::testRecursion(), StatementTest::testUse(), StatementTest::testUseKill(), StatementTest::testUseOverBB(), and StatementTest::testUseOverKill(). |
|
Definition at line 1457 of file basicblock.cpp. References DFS_RNUM, m_OutEdges, revLoopStamps, and traversed. Referenced by Cfg::setTimeStamps(). |
|
Definition at line 1474 of file basicblock.cpp. References DFS_PDOM, m_InEdges, revOrd, and traversed. Referenced by Cfg::setTimeStamps(). |
|
Definition at line 227 of file basicblock.cpp. References m_pRtls. Referenced by BasicBlock(), and Cfg::newBB(). |
|
Definition at line 1517 of file basicblock.cpp. References BELSE, BTHEN, Case, Cond, condFollow, cType, getType(), IfElse, IfThen, IfThenElse, m_OutEdges, NWAY, and sType. Referenced by Cfg::determineLoopType(). |
|
Definition at line 216 of file basicblock.cpp. References m_iTraversed. |
|
Definition at line 1534 of file basicblock.cpp. |
|
Definition at line 898 of file basicblock.cpp. References FALL, RTL::getNumStmt(), m_nodeType, m_pRtls, NULL, ONEWAY, and TWOWAY. Referenced by UserProc::finalSimplify(). |
|
Definition at line 2388 of file basicblock.cpp. References CALL, RTL::getList(), LOG, m_nodeType, and m_pRtls. |
|
Definition at line 252 of file basicblock.cpp. References m_iNumOutEdges, and m_nodeType. Referenced by processSwitch(). |
|
Definition at line 1738 of file basicblock.cpp. References m_InEdges. |
|
Definition at line 1014 of file basicblock.cpp. References HLLCode::AddLabel(), DEBUG_GEN, getLowAddr(), LOG, m_pRtls, and ord. Referenced by generateCode(). |
|
Definition at line 133 of file basicblock.h. |
|
Definition at line 543 of file basicblock.h. |
|
Definition at line 446 of file basicblock.h. Referenced by getCaseHead(), isCaseOption(), XMLProgParser::persistToXML(), and setCaseHead(). |
|
Definition at line 447 of file basicblock.h. Referenced by generateCode(), getCondFollow(), XMLProgParser::persistToXML(), setCaseHead(), setCondFollow(), and setStructType(). |
|
Definition at line 455 of file basicblock.h. Referenced by generateCode(), getCondType(), getUnstructType(), XMLProgParser::persistToXML(), setCondType(), setStructType(), and setUnstructType(). |
|
Definition at line 439 of file basicblock.h. Referenced by emitGotoAndLabel(), generateCode(), and XMLProgParser::persistToXML(). |
|
Definition at line 444 of file basicblock.h. Referenced by Cfg::commonPDom(), Cfg::findImmedPDom(), and XMLProgParser::persistToXML(). |
|
Definition at line 441 of file basicblock.h. Referenced by generateCode(), and XMLProgParser::persistToXML(). |
|
Definition at line 435 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 440 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 449 of file basicblock.h. Referenced by generateCode(), getLatchNode(), inLoop(), isLatchNode(), XMLProgParser::persistToXML(), setLatchNode(), and setLoopType(). |
|
Definition at line 397 of file basicblock.h. Referenced by addLiveIn(), and XMLProgParser::persistToXML(). |
|
Definition at line 448 of file basicblock.h. Referenced by emitGotoAndLabel(), generateCode(), getLoopFollow(), XMLProgParser::persistToXML(), and setLoopFollow(). |
|
Definition at line 445 of file basicblock.h. Referenced by emitGotoAndLabel(), generateCode(), getLoopHead(), isLatchNode(), XMLProgParser::persistToXML(), and setLoopHead(). |
|
Definition at line 437 of file basicblock.h. Referenced by inLoop(), isAncestorOf(), XMLProgParser::persistToXML(), and setLoopStamps(). |
|
Definition at line 454 of file basicblock.h. Referenced by generateCode(), getLoopType(), XMLProgParser::persistToXML(), and setLoopType(). |
|
Definition at line 384 of file basicblock.h. Referenced by Cfg::isIncomplete(), Cfg::isOrphan(), Cfg::label(), Cfg::newBB(), and XMLProgParser::persistToXML(). |
|
Definition at line 385 of file basicblock.h. Referenced by Cfg::addNewOutEdge(), Cfg::compressCfg(), isJumpReqd(), XMLProgParser::persistToXML(), and setJumpReqd(). |
|
Definition at line 372 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 373 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 345 of file basicblock.h. Referenced by DFTOrder(), isBackEdge(), lessFirstDFT(), and XMLProgParser::persistToXML(). |
|
Definition at line 346 of file basicblock.h. Referenced by isBackEdge(), lessLastDFT(), and XMLProgParser::persistToXML(). |
|
Definition at line 347 of file basicblock.h. Referenced by XMLProgParser::persistToXML(), and RevDFTOrder(). |
|
Definition at line 348 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 381 of file basicblock.h. Referenced by getLabel(), XMLProgParser::persistToXML(), print(), and Cfg::setLabel(). |
|
Definition at line 388 of file basicblock.h. Referenced by addInEdge(), Cfg::addOutEdge(), allParentsGenerated(), Cfg::completeMerge(), deleteInEdge(), findNumCases(), getInEdges(), isBackEdge(), Cfg::mergeBBs(), XMLProgParser::persistToXML(), print(), RevDFTOrder(), setInEdge(), setRevOrder(), Cfg::wellFormCfg(), and whichPred(). |
|
Definition at line 390 of file basicblock.h. Referenced by addInEdge(), Cfg::addOutEdge(), Cfg::completeMerge(), deleteInEdge(), getNumInEdges(), and Cfg::mergeBBs(). |
|
Definition at line 391 of file basicblock.h. Referenced by Cfg::addNewOutEdge(), deleteEdge(), getLoopBody(), getNumOutEdges(), Cfg::mergeBBs(), Cfg::newBB(), and updateType(). |
|
Definition at line 394 of file basicblock.h. Referenced by DFTOrder(), isTraversed(), XMLProgParser::persistToXML(), RevDFTOrder(), and setTraversed(). |
|
Definition at line 383 of file basicblock.h. Referenced by isLabelNeeded(), XMLProgParser::persistToXML(), and setLabelNeeded(). |
|
Definition at line 382 of file basicblock.h. Referenced by getLabelStr(), XMLProgParser::persistToXML(), and setLabelStr(). |
|
Definition at line 375 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 370 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 374 of file basicblock.h. Referenced by getLoopBody(), and XMLProgParser::persistToXML(). |
|
Definition at line 371 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 379 of file basicblock.h. Referenced by generateCode(), getCallDest(), getCallDestProc(), getType(), Cfg::newBB(), XMLProgParser::persistToXML(), print(), simplify(), undoComputedBB(), and updateType(). |
|
Definition at line 389 of file basicblock.h. Referenced by Cfg::addNewOutEdge(), Cfg::addOutEdge(), addOutEdge(), BasicBlock(), deleteEdge(), DFTOrder(), generateCode(), getCorrectOutEdge(), getLiveOut(), getLoopBody(), getOutEdge(), getOutEdges(), hasBackEdge(), isJmpZ(), Cfg::mergeBBs(), XMLProgParser::persistToXML(), print(), setCaseHead(), setLoopStamps(), setOutEdge(), setRevLoopStamps(), setStructType(), and Cfg::wellFormCfg(). |
|
Definition at line 380 of file basicblock.h. Referenced by addRTL(), BasicBlock(), calcLiveness(), Cfg::findInterferences(), generateCode(), getCallDest(), getCallDestProc(), getCond(), getDest(), getDestProc(), getFirstStmt(), getHiAddr(), getLastStmt(), getLowAddr(), getNextStmt(), getPrevStmt(), getRTLs(), getRTLWithStatement(), isJmpZ(), Cfg::isOrphan(), Cfg::joinBB(), prependStmt(), print(), processSwitch(), setRTLs(), simplify(), Cfg::splitBB(), Cfg::splitForBranch(), undoComputedBB(), WriteBB(), and ~BasicBlock(). |
|
Definition at line 369 of file basicblock.h. Referenced by getLoopBody(), and XMLProgParser::persistToXML(). |
|
Definition at line 436 of file basicblock.h. Referenced by XMLProgParser::persistToXML(). |
|
Definition at line 433 of file basicblock.h. Referenced by emitGotoAndLabel(), Cfg::findLoopFollow(), XMLProgParser::persistToXML(), Cfg::structLoops(), Cfg::tagNodesInLoop(), and WriteBB(). |
|
Definition at line 540 of file basicblock.h. |
|
Definition at line 437 of file basicblock.h. Referenced by inLoop(), isAncestorOf(), XMLProgParser::persistToXML(), and setRevLoopStamps(). |
|
Definition at line 434 of file basicblock.h. Referenced by Cfg::commonPDom(), Cfg::findImmedPDom(), XMLProgParser::persistToXML(), and setRevOrder(). |
|
Definition at line 452 of file basicblock.h. Referenced by generateCode(), getCondType(), getLoopType(), getStructType(), getUnstructType(), XMLProgParser::persistToXML(), setCondType(), setLoopType(), setStructType(), and setUnstructType(). |
|
Definition at line 438 of file basicblock.h. Referenced by allParentsGenerated(), generateCode(), XMLProgParser::persistToXML(), setCaseHead(), setLoopStamps(), setRevLoopStamps(), and setRevOrder(). |
|
Definition at line 453 of file basicblock.h. Referenced by generateCode(), getUnstructType(), XMLProgParser::persistToXML(), and setUnstructType(). |