Lines Matching refs:RefSCC
323 LazyCallGraph::RefSCC::RefSCC(LazyCallGraph &G) : G(&G) {} in RefSCC() function in LazyCallGraph::RefSCC
326 LLVM_DUMP_METHOD void LazyCallGraph::RefSCC::dump() const { in dump()
332 void LazyCallGraph::RefSCC::verify() { in verify()
400 bool LazyCallGraph::RefSCC::isParentOf(const RefSCC &RC) const { in isParentOf()
414 bool LazyCallGraph::RefSCC::isAncestorOf(const RefSCC &RC) const { in isAncestorOf()
421 SmallVector<const RefSCC *, 4> Worklist; in isAncestorOf()
422 SmallPtrSet<const RefSCC *, 4> Visited; in isAncestorOf()
426 const RefSCC &DescendantRC = *Worklist.pop_back_val(); in isAncestorOf()
576 bool LazyCallGraph::RefSCC::switchInternalEdgeToCall( in switchInternalEdgeToCall()
723 void LazyCallGraph::RefSCC::switchTrivialInternalEdgeToRef(Node &SourceN, in switchTrivialInternalEdgeToRef()
741 iterator_range<LazyCallGraph::RefSCC::iterator>
742 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef()
922 void LazyCallGraph::RefSCC::switchOutgoingEdgeToCall(Node &SourceN, in switchOutgoingEdgeToCall()
943 void LazyCallGraph::RefSCC::switchOutgoingEdgeToRef(Node &SourceN, in switchOutgoingEdgeToRef()
964 void LazyCallGraph::RefSCC::insertInternalRefEdge(Node &SourceN, in insertInternalRefEdge()
976 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge()
995 SmallVector<LazyCallGraph::RefSCC *, 1>
996 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge()
998 RefSCC &SourceC = *G->lookupRefSCC(SourceN); in insertIncomingRefEdge()
1005 SmallVector<RefSCC *, 1> DeletedRefSCCs; in insertIncomingRefEdge()
1024 auto ComputeSourceConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1026 auto IsConnected = [&](RefSCC &RC) { in insertIncomingRefEdge()
1036 for (RefSCC *C : make_range(G->PostOrderRefSCCs.begin() + SourceIdx + 1, in insertIncomingRefEdge()
1046 auto ComputeTargetConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1048 SmallVector<RefSCC *, 4> Worklist; in insertIncomingRefEdge()
1051 RefSCC &RC = *Worklist.pop_back_val(); in insertIncomingRefEdge()
1055 RefSCC &EdgeRC = *G->lookupRefSCC(E.getNode()); in insertIncomingRefEdge()
1070 iterator_range<SmallVectorImpl<RefSCC *>::iterator> MergeRange = in insertIncomingRefEdge()
1077 SmallPtrSet<RefSCC *, 16> MergeSet(MergeRange.begin(), MergeRange.end()); in insertIncomingRefEdge()
1086 for (RefSCC *RC : MergeRange) { in insertIncomingRefEdge()
1118 for (RefSCC *RC : MergeRange) in insertIncomingRefEdge()
1123 for (RefSCC *RC : make_range(EraseEnd, G->PostOrderRefSCCs.end())) in insertIncomingRefEdge()
1137 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge()
1154 SmallVector<LazyCallGraph::RefSCC *, 1>
1155 LazyCallGraph::RefSCC::removeInternalRefEdge(Node &SourceN, in removeInternalRefEdge()
1158 SmallVector<RefSCC *, 1> Result; in removeInternalRefEdge()
1366 RefSCC &RC = *Result[SCCNumber]; in removeInternalRefEdge()
1381 for (RefSCC *RC : Result) in removeInternalRefEdge()
1389 void LazyCallGraph::RefSCC::insertTrivialCallEdge(Node &SourceN, in insertTrivialCallEdge()
1418 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge()
1423 RefSCC &SourceRC = *G->lookupRefSCC(SourceN); in insertTrivialRefEdge()
1424 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1442 void LazyCallGraph::RefSCC::replaceNodeFunction(Node &N, Function &NewF) { in replaceNodeFunction()
1518 RefSCC *RC = &C.getOuterRefSCC(); in removeDeadFunction()
1615 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitFunction()
1648 RefSCC *NewRC = OriginalRC; in addSplitFunction()
1673 RefSCC *NewRC = createRefSCC(*this); in addSplitFunction()
1694 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitRefRecursiveFunctions()
1722 RefSCC *NewRC; in addSplitRefRecursiveFunctions()
1888 void LazyCallGraph::buildSCCs(RefSCC &RC, node_stack_range Nodes) { in buildSCCs()
1944 RefSCC *NewRC = createRefSCC(*this); in buildRefSCCs()
2003 static void printRefSCC(raw_ostream &OS, LazyCallGraph::RefSCC &C) { in printRefSCC()
2023 for (LazyCallGraph::RefSCC &C : G.postorder_ref_sccs()) in run()