Lines Matching refs:ExplodedNode

56 bool ExplodedGraph::shouldCollect(const ExplodedNode *node) {  in shouldCollect()
91 const ExplodedNode *pred = *(node->pred_begin()); in shouldCollect()
95 const ExplodedNode *succ = *(node->succ_begin()); in shouldCollect()
153 void ExplodedGraph::collectNode(ExplodedNode *node) { in collectNode()
159 ExplodedNode *pred = *(node->pred_begin()); in collectNode()
160 ExplodedNode *succ = *(node->succ_begin()); in collectNode()
166 node->~ExplodedNode(); in collectNode()
201 using ExplodedNodeVector = BumpVector<ExplodedNode *>;
202 using GroupStorage = llvm::PointerUnion<ExplodedNode *, ExplodedNodeVector *>;
204 void ExplodedNode::addPredecessor(ExplodedNode *V, ExplodedGraph &G) { in addPredecessor()
210 void ExplodedNode::NodeGroup::replaceNode(ExplodedNode *node) { in replaceNode()
214 assert(Storage.is<ExplodedNode *>()); in replaceNode()
216 assert(Storage.is<ExplodedNode *>()); in replaceNode()
219 void ExplodedNode::NodeGroup::addNode(ExplodedNode *N, ExplodedGraph &G) { in addNode()
225 assert(Storage.is<ExplodedNode *>()); in addNode()
233 ExplodedNode *Old = Storage.get<ExplodedNode *>(); in addNode()
248 unsigned ExplodedNode::NodeGroup::size() const { in size()
260 ExplodedNode * const *ExplodedNode::NodeGroup::begin() const { in begin()
272 ExplodedNode * const *ExplodedNode::NodeGroup::end() const { in end()
284 bool ExplodedNode::isTrivial() const { in isTrivial()
290 const CFGBlock *ExplodedNode::getCFGBlock() const { in getCFGBlock()
320 const Stmt *ExplodedNode::getStmtForDiagnostics() const { in getStmtForDiagnostics()
351 const Stmt *ExplodedNode::getNextStmtForDiagnostics() const { in getNextStmtForDiagnostics()
352 for (const ExplodedNode *N = getFirstSucc(); N; N = N->getFirstSucc()) { in getNextStmtForDiagnostics()
378 const Stmt *ExplodedNode::getPreviousStmtForDiagnostics() const { in getPreviousStmtForDiagnostics()
379 for (const ExplodedNode *N = getFirstPred(); N; N = N->getFirstPred()) in getPreviousStmtForDiagnostics()
386 const Stmt *ExplodedNode::getCurrentOrPreviousStmtForDiagnostics() const { in getCurrentOrPreviousStmtForDiagnostics()
393 ExplodedNode *ExplodedGraph::getNode(const ProgramPoint &L, in getNode()
431 ExplodedNode *ExplodedGraph::createUncachedNode(const ProgramPoint &L, in createUncachedNode()
447 using Pass1Ty = llvm::DenseSet<const ExplodedNode *>; in trim()
454 SmallVector<const ExplodedNode*, 10> WL1, WL2; in trim()
463 const ExplodedNode *N = WL1.pop_back_val(); in trim()
488 const ExplodedNode *N = WL2.pop_back_val(); in trim()
496 ExplodedNode *NewN = G->createUncachedNode(N->getLocation(), N->State, in trim()
512 for (ExplodedNode::pred_iterator I = N->Preds.begin(), E = N->Preds.end(); in trim()
518 NewN->addPredecessor(const_cast<ExplodedNode *>(PI->second), *G); in trim()
525 for (ExplodedNode::succ_iterator I = N->Succs.begin(), E = N->Succs.end(); in trim()
529 const_cast<ExplodedNode *>(PI->second)->addPredecessor(NewN, *G); in trim()