• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching full:cb

40   static inline const Stmt *getUnreachableStmt(const CFGBlock *CB);
41 static void FindUnreachableEntryPoints(const CFGBlock *CB,
44 static bool isInvalidPath(const CFGBlock *CB, const ParentMap &PM);
45 static inline bool isEmptyCFGBlock(const CFGBlock *CB);
79 const CFGBlock *CB = BE->getBlock(); in checkEndAnalysis() local
80 reachable.insert(CB->getBlockID()); in checkEndAnalysis()
97 const CFGBlock *CB = *I; in checkEndAnalysis() local
99 if (reachable.count(CB->getBlockID())) in checkEndAnalysis()
103 if (isEmptyCFGBlock(CB)) in checkEndAnalysis()
107 if (!visited.count(CB->getBlockID())) in checkEndAnalysis()
108 FindUnreachableEntryPoints(CB, reachable, visited); in checkEndAnalysis()
111 if (reachable.count(CB->getBlockID())) in checkEndAnalysis()
115 if (CB->size() > 0 && isInvalidPath(CB, *PM)) in checkEndAnalysis()
122 if (const Stmt *label = CB->getLabel()) in checkEndAnalysis()
129 if (!CB->empty()) { in checkEndAnalysis()
131 for (CFGBlock::const_iterator ci = CB->begin(), ce = CB->end(); in checkEndAnalysis()
149 if (const Stmt *S = getUnreachableStmt(CB)) { in checkEndAnalysis()
170 void UnreachableCodeChecker::FindUnreachableEntryPoints(const CFGBlock *CB, in FindUnreachableEntryPoints() argument
173 visited.insert(CB->getBlockID()); in FindUnreachableEntryPoints()
175 for (CFGBlock::const_pred_iterator I = CB->pred_begin(), E = CB->pred_end(); in FindUnreachableEntryPoints()
183 reachable.insert(CB->getBlockID()); in FindUnreachableEntryPoints()
192 const Stmt *UnreachableCodeChecker::getUnreachableStmt(const CFGBlock *CB) { in getUnreachableStmt() argument
193 for (CFGBlock::const_iterator I = CB->begin(), E = CB->end(); I != E; ++I) { in getUnreachableStmt()
197 if (const Stmt *S = CB->getTerminator()) in getUnreachableStmt()
208 bool UnreachableCodeChecker::isInvalidPath(const CFGBlock *CB, in isInvalidPath() argument
213 if (CB->pred_size() > 1) in isInvalidPath()
217 if (CB->pred_size() == 0) in isInvalidPath()
220 const CFGBlock *pred = *CB->pred_begin(); in isInvalidPath()
240 bool UnreachableCodeChecker::isEmptyCFGBlock(const CFGBlock *CB) { in isEmptyCFGBlock() argument
241 return CB->getLabel() == nullptr // No labels in isEmptyCFGBlock()
242 && CB->size() == 0 // No statements in isEmptyCFGBlock()
243 && !CB->getTerminator(); // No terminator in isEmptyCFGBlock()