Lines Matching refs:RefSCC
328 LazyCallGraph::RefSCC::RefSCC(LazyCallGraph &G) : G(&G) {} in RefSCC() function in LazyCallGraph::RefSCC
331 LLVM_DUMP_METHOD void LazyCallGraph::RefSCC::dump() const { in dump()
337 void LazyCallGraph::RefSCC::verify() { in verify()
407 bool LazyCallGraph::RefSCC::isParentOf(const RefSCC &RC) const { in isParentOf()
421 bool LazyCallGraph::RefSCC::isAncestorOf(const RefSCC &RC) const { in isAncestorOf()
428 SmallVector<const RefSCC *, 4> Worklist; in isAncestorOf()
429 SmallPtrSet<const RefSCC *, 4> Visited; in isAncestorOf()
433 const RefSCC &DescendantRC = *Worklist.pop_back_val(); in isAncestorOf()
585 LazyCallGraph::RefSCC::switchInternalEdgeToCall( in switchInternalEdgeToCall()
732 void LazyCallGraph::RefSCC::switchTrivialInternalEdgeToRef(Node &SourceN, in switchTrivialInternalEdgeToRef()
752 iterator_range<LazyCallGraph::RefSCC::iterator>
753 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef()
937 void LazyCallGraph::RefSCC::switchOutgoingEdgeToCall(Node &SourceN, in switchOutgoingEdgeToCall()
958 void LazyCallGraph::RefSCC::switchOutgoingEdgeToRef(Node &SourceN, in switchOutgoingEdgeToRef()
979 void LazyCallGraph::RefSCC::insertInternalRefEdge(Node &SourceN, in insertInternalRefEdge()
991 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge()
1010 SmallVector<LazyCallGraph::RefSCC *, 1>
1011 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge()
1013 RefSCC &SourceC = *G->lookupRefSCC(SourceN); in insertIncomingRefEdge()
1020 SmallVector<RefSCC *, 1> DeletedRefSCCs; in insertIncomingRefEdge()
1039 auto ComputeSourceConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1041 auto IsConnected = [&](RefSCC &RC) { in insertIncomingRefEdge()
1051 for (RefSCC *C : make_range(G->PostOrderRefSCCs.begin() + SourceIdx + 1, in insertIncomingRefEdge()
1061 auto ComputeTargetConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1063 SmallVector<RefSCC *, 4> Worklist; in insertIncomingRefEdge()
1066 RefSCC &RC = *Worklist.pop_back_val(); in insertIncomingRefEdge()
1070 RefSCC &EdgeRC = *G->lookupRefSCC(E.getNode()); in insertIncomingRefEdge()
1085 iterator_range<SmallVectorImpl<RefSCC *>::iterator> MergeRange = in insertIncomingRefEdge()
1092 SmallPtrSet<RefSCC *, 16> MergeSet(MergeRange.begin(), MergeRange.end()); in insertIncomingRefEdge()
1101 for (RefSCC *RC : MergeRange) { in insertIncomingRefEdge()
1133 for (RefSCC *RC : MergeRange) in insertIncomingRefEdge()
1138 for (RefSCC *RC : make_range(EraseEnd, G->PostOrderRefSCCs.end())) in insertIncomingRefEdge()
1152 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge()
1169 SmallVector<LazyCallGraph::RefSCC *, 1>
1170 LazyCallGraph::RefSCC::removeInternalRefEdge(Node &SourceN, in removeInternalRefEdge()
1173 SmallVector<RefSCC *, 1> Result; in removeInternalRefEdge()
1383 RefSCC &RC = *Result[SCCNumber]; in removeInternalRefEdge()
1398 for (RefSCC *RC : Result) in removeInternalRefEdge()
1406 void LazyCallGraph::RefSCC::insertTrivialCallEdge(Node &SourceN, in insertTrivialCallEdge()
1435 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge()
1440 RefSCC &SourceRC = *G->lookupRefSCC(SourceN); in insertTrivialRefEdge()
1441 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1458 void LazyCallGraph::RefSCC::replaceNodeFunction(Node &N, Function &NewF) { in replaceNodeFunction()
1540 RefSCC &RC = C.getOuterRefSCC(); in removeDeadFunction()
1618 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitFunction()
1651 RefSCC *NewRC = OriginalRC; in addSplitFunction()
1676 RefSCC *NewRC = createRefSCC(*this); in addSplitFunction()
1697 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitRefRecursiveFunctions()
1725 RefSCC *NewRC; in addSplitRefRecursiveFunctions()
1893 void LazyCallGraph::buildSCCs(RefSCC &RC, node_stack_range Nodes) { in buildSCCs()
1949 RefSCC *NewRC = createRefSCC(*this); in buildRefSCCs()
1985 static void printRefSCC(raw_ostream &OS, LazyCallGraph::RefSCC &C) { in printRefSCC()
2005 for (LazyCallGraph::RefSCC &C : G.postorder_ref_sccs()) in run()