Lines Matching refs:Block
61 static SourceLocation getFirstStmtLoc(const CFGBlock *Block) { in getFirstStmtLoc() argument
64 for (const auto &B : *Block) in getFirstStmtLoc()
70 if (Block->succ_size() == 1 && *Block->succ_begin()) in getFirstStmtLoc()
71 return getFirstStmtLoc(*Block->succ_begin()); in getFirstStmtLoc()
76 static SourceLocation getLastStmtLoc(const CFGBlock *Block) { in getLastStmtLoc() argument
79 if (const Stmt *StmtNode = Block->getTerminatorStmt()) { in getLastStmtLoc()
82 for (CFGBlock::const_reverse_iterator BI = Block->rbegin(), in getLastStmtLoc()
83 BE = Block->rend(); BI != BE; ++BI) { in getLastStmtLoc()
91 if (Block->succ_size() == 1 && *Block->succ_begin()) in getLastStmtLoc()
92 Loc = getFirstStmtLoc(*Block->succ_begin()); in getLastStmtLoc()
97 if (Block->pred_size() == 1 && *Block->pred_begin()) in getLastStmtLoc()
98 return getLastStmtLoc(*Block->pred_begin()); in getLastStmtLoc()
1018 const CFGBlock *Block, ConsumedStateMap *StateMap, in addInfo() argument
1020 assert(Block && "Block pointer must not be NULL"); in addInfo()
1022 auto &Entry = StateMapsArray[Block->getBlockID()]; in addInfo()
1032 void ConsumedBlockInfo::addInfo(const CFGBlock *Block, in addInfo() argument
1034 assert(Block && "Block pointer must not be NULL"); in addInfo()
1036 auto &Entry = StateMapsArray[Block->getBlockID()]; in addInfo()
1045 ConsumedStateMap* ConsumedBlockInfo::borrowInfo(const CFGBlock *Block) { in borrowInfo() argument
1046 assert(Block && "Block pointer must not be NULL"); in borrowInfo()
1047 assert(StateMapsArray[Block->getBlockID()] && "Block has no block info"); in borrowInfo()
1049 return StateMapsArray[Block->getBlockID()].get(); in borrowInfo()
1052 void ConsumedBlockInfo::discardInfo(const CFGBlock *Block) { in discardInfo() argument
1053 StateMapsArray[Block->getBlockID()] = nullptr; in discardInfo()
1057 ConsumedBlockInfo::getInfo(const CFGBlock *Block) { in getInfo() argument
1058 assert(Block && "Block pointer must not be NULL"); in getInfo()
1060 auto &Entry = StateMapsArray[Block->getBlockID()]; in getInfo()
1061 return isBackEdgeTarget(Block) ? std::make_unique<ConsumedStateMap>(*Entry) in getInfo()
1072 bool ConsumedBlockInfo::isBackEdgeTarget(const CFGBlock *Block) { in isBackEdgeTarget() argument
1073 assert(Block && "Block pointer must not be NULL"); in isBackEdgeTarget()
1077 if (Block->pred_size() < 2) in isBackEdgeTarget()
1080 unsigned int BlockVisitOrder = VisitOrder[Block->getBlockID()]; in isBackEdgeTarget()
1081 for (CFGBlock::const_pred_iterator PI = Block->pred_begin(), in isBackEdgeTarget()
1082 PE = Block->pred_end(); PI != PE; ++PI) { in isBackEdgeTarget()