Lines Matching refs:SCC
106 class SCC; variable
162 friend class LazyCallGraph::SCC;
210 class SCC {
215 SmallPtrSet<SCC *, 1> ParentSCCs;
218 SCC(LazyCallGraph &G) : G(&G) {} in SCC() function
225 SmallVectorImpl<SCC *> &ResultSCCs);
229 typedef pointee_iterator<SmallPtrSet<SCC *, 1>::const_iterator> parent_iterator;
242 bool isParentOf(const SCC &C) const { return C.isChildOf(*this); } in isParentOf()
245 bool isAncestorOf(const SCC &C) const { return C.isDescendantOf(*this); } in isAncestorOf()
248 bool isChildOf(const SCC &C) const { in isChildOf()
249 return ParentSCCs.count(const_cast<SCC *>(&C)); in isChildOf()
253 bool isDescendantOf(const SCC &C) const;
298 SmallVector<SCC *, 1> insertIncomingEdge(Node &CallerN, Node &CalleeN);
344 SmallVector<SCC *, 1> removeIntraSCCEdge(Node &CallerN, Node &CalleeN);
357 std::forward_iterator_tag, SCC> {
365 SCC *C;
425 SCC *lookupSCC(Node &N) const { return SCCMap.lookup(&N); } in lookupSCC()
483 SpecificBumpPtrAllocator<SCC> SCCBPA;
486 DenseMap<Node *, SCC *> SCCMap;
491 SmallVector<SCC *, 4> LeafSCCs;
514 SCC *formSCC(Node *RootN, SmallVectorImpl<Node *> &NodeStack);
517 SCC *getNextSCCInPostOrder();