Lines Matching refs:TargetN
42 void LazyCallGraph::EdgeSequence::insertEdgeInternal(Node &TargetN, in insertEdgeInternal() argument
44 EdgeIndexMap.try_emplace(&TargetN, Edges.size()); in insertEdgeInternal()
45 Edges.emplace_back(TargetN, EK); in insertEdgeInternal()
48 void LazyCallGraph::EdgeSequence::setEdgeKind(Node &TargetN, Edge::Kind EK) { in setEdgeKind() argument
49 Edges[EdgeIndexMap.find(&TargetN)->second].setKind(EK); in setEdgeKind()
52 bool LazyCallGraph::EdgeSequence::removeEdgeInternal(Node &TargetN) { in removeEdgeInternal() argument
53 auto IndexMapI = EdgeIndexMap.find(&TargetN); in removeEdgeInternal()
587 Node &SourceN, Node &TargetN, in switchInternalEdgeToCall() argument
589 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchInternalEdgeToCall()
598 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToCall()
603 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
616 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
692 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
727 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
734 Node &TargetN) { in switchTrivialInternalEdgeToRef() argument
735 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchTrivialInternalEdgeToRef()
743 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in switchTrivialInternalEdgeToRef()
744 assert(G->lookupSCC(SourceN) != G->lookupSCC(TargetN) && in switchTrivialInternalEdgeToRef()
748 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchTrivialInternalEdgeToRef()
752 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef() argument
753 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchInternalEdgeToRef()
761 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in switchInternalEdgeToRef()
763 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToRef()
769 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchInternalEdgeToRef()
804 TargetN.DFSNumber = TargetN.LowLink = -1; in switchInternalEdgeToRef()
805 OldSCC.Nodes.push_back(&TargetN); in switchInternalEdgeToRef()
806 G->SCCMap[&TargetN] = &OldSCC; in switchInternalEdgeToRef()
933 Node &TargetN) { in switchOutgoingEdgeToCall() argument
934 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchOutgoingEdgeToCall()
937 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToCall()
940 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToCall()
946 SourceN->setEdgeKind(TargetN, Edge::Call); in switchOutgoingEdgeToCall()
954 Node &TargetN) { in switchOutgoingEdgeToRef() argument
955 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchOutgoingEdgeToRef()
958 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToRef()
961 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToRef()
967 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchOutgoingEdgeToRef()
975 Node &TargetN) { in insertInternalRefEdge() argument
977 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertInternalRefEdge()
979 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertInternalRefEdge()
986 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge() argument
989 SourceN->insertEdgeInternal(TargetN, EK); in insertOutgoingEdge()
993 assert(G->lookupRefSCC(TargetN) != this && in insertOutgoingEdge()
996 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in insertOutgoingEdge()
1006 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge() argument
1007 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertIncomingRefEdge()
1138 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertIncomingRefEdge()
1147 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge() argument
1150 assert(G->lookupRefSCC(TargetN) != this && in removeOutgoingEdge()
1159 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeOutgoingEdge()
1184 for (auto [SourceN, TargetN] : Edges) { in removeInternalRefEdges()
1185 assert(!(**SourceN)[*TargetN].isCall() && in removeInternalRefEdges()
1188 bool Removed = (*SourceN)->removeEdgeInternal(*TargetN); in removeInternalRefEdges()
1396 Node &TargetN) { in insertTrivialCallEdge() argument
1403 SCC &TargetC = *G->lookupSCC(TargetN); in insertTrivialCallEdge()
1411 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size()); in insertTrivialCallEdge()
1420 SourceN->Edges.emplace_back(TargetN, Edge::Call); in insertTrivialCallEdge()
1424 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge() argument
1430 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1438 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size()); in insertTrivialRefEdge()
1445 SourceN->Edges.emplace_back(TargetN, Edge::Ref); in insertTrivialRefEdge()
1484 void LazyCallGraph::insertEdge(Node &SourceN, Node &TargetN, Edge::Kind EK) { in insertEdge() argument
1488 return SourceN->insertEdgeInternal(TargetN, EK); in insertEdge()
1491 void LazyCallGraph::removeEdge(Node &SourceN, Node &TargetN) { in removeEdge() argument
1495 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeEdge()