Lines Matching refs:RefSCC

329 LazyCallGraph::RefSCC::RefSCC(LazyCallGraph &G) : G(&G) {}  in RefSCC()  function in LazyCallGraph::RefSCC
332 LLVM_DUMP_METHOD void LazyCallGraph::RefSCC::dump() const { in dump()
338 void LazyCallGraph::RefSCC::verify() { in verify()
408 bool LazyCallGraph::RefSCC::isParentOf(const RefSCC &RC) const { in isParentOf()
422 bool LazyCallGraph::RefSCC::isAncestorOf(const RefSCC &RC) const { in isAncestorOf()
429 SmallVector<const RefSCC *, 4> Worklist; in isAncestorOf()
430 SmallPtrSet<const RefSCC *, 4> Visited; in isAncestorOf()
434 const RefSCC &DescendantRC = *Worklist.pop_back_val(); in isAncestorOf()
586 LazyCallGraph::RefSCC::switchInternalEdgeToCall( in switchInternalEdgeToCall()
733 void LazyCallGraph::RefSCC::switchTrivialInternalEdgeToRef(Node &SourceN, in switchTrivialInternalEdgeToRef()
753 iterator_range<LazyCallGraph::RefSCC::iterator>
754 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef()
938 void LazyCallGraph::RefSCC::switchOutgoingEdgeToCall(Node &SourceN, in switchOutgoingEdgeToCall()
959 void LazyCallGraph::RefSCC::switchOutgoingEdgeToRef(Node &SourceN, in switchOutgoingEdgeToRef()
980 void LazyCallGraph::RefSCC::insertInternalRefEdge(Node &SourceN, in insertInternalRefEdge()
992 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge()
1011 SmallVector<LazyCallGraph::RefSCC *, 1>
1012 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge()
1014 RefSCC &SourceC = *G->lookupRefSCC(SourceN); in insertIncomingRefEdge()
1021 SmallVector<RefSCC *, 1> DeletedRefSCCs; in insertIncomingRefEdge()
1040 auto ComputeSourceConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1042 auto IsConnected = [&](RefSCC &RC) { in insertIncomingRefEdge()
1052 for (RefSCC *C : make_range(G->PostOrderRefSCCs.begin() + SourceIdx + 1, in insertIncomingRefEdge()
1062 auto ComputeTargetConnectedSet = [&](SmallPtrSetImpl<RefSCC *> &Set) { in insertIncomingRefEdge()
1064 SmallVector<RefSCC *, 4> Worklist; in insertIncomingRefEdge()
1067 RefSCC &RC = *Worklist.pop_back_val(); in insertIncomingRefEdge()
1071 RefSCC &EdgeRC = *G->lookupRefSCC(E.getNode()); in insertIncomingRefEdge()
1086 iterator_range<SmallVectorImpl<RefSCC *>::iterator> MergeRange = in insertIncomingRefEdge()
1093 SmallPtrSet<RefSCC *, 16> MergeSet(MergeRange.begin(), MergeRange.end()); in insertIncomingRefEdge()
1102 for (RefSCC *RC : MergeRange) { in insertIncomingRefEdge()
1134 for (RefSCC *RC : MergeRange) in insertIncomingRefEdge()
1139 for (RefSCC *RC : make_range(EraseEnd, G->PostOrderRefSCCs.end())) in insertIncomingRefEdge()
1153 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge()
1170 SmallVector<LazyCallGraph::RefSCC *, 1>
1171 LazyCallGraph::RefSCC::removeInternalRefEdge(Node &SourceN, in removeInternalRefEdge()
1174 SmallVector<RefSCC *, 1> Result; in removeInternalRefEdge()
1384 RefSCC &RC = *Result[SCCNumber]; in removeInternalRefEdge()
1399 for (RefSCC *RC : Result) in removeInternalRefEdge()
1407 void LazyCallGraph::RefSCC::insertTrivialCallEdge(Node &SourceN, in insertTrivialCallEdge()
1436 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge()
1441 RefSCC &SourceRC = *G->lookupRefSCC(SourceN); in insertTrivialRefEdge()
1442 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1459 void LazyCallGraph::RefSCC::replaceNodeFunction(Node &N, Function &NewF) { in replaceNodeFunction()
1534 RefSCC &RC = C.getOuterRefSCC(); in removeDeadFunction()
1606 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitFunction()
1639 RefSCC *NewRC = OriginalRC; in addSplitFunction()
1664 RefSCC *NewRC = createRefSCC(*this); in addSplitFunction()
1685 RefSCC *OriginalRC = lookupRefSCC(OriginalN); in addSplitRefRecursiveFunctions()
1713 RefSCC *NewRC; in addSplitRefRecursiveFunctions()
1881 void LazyCallGraph::buildSCCs(RefSCC &RC, node_stack_range Nodes) { in buildSCCs()
1937 RefSCC *NewRC = createRefSCC(*this); in buildRefSCCs()
1996 static void printRefSCC(raw_ostream &OS, LazyCallGraph::RefSCC &C) { in printRefSCC()
2016 for (LazyCallGraph::RefSCC &C : G.postorder_ref_sccs()) in run()