Lines Matching refs:TargetN
40 void LazyCallGraph::EdgeSequence::insertEdgeInternal(Node &TargetN, in insertEdgeInternal() argument
42 EdgeIndexMap.try_emplace(&TargetN, Edges.size()); in insertEdgeInternal()
43 Edges.emplace_back(TargetN, EK); in insertEdgeInternal()
46 void LazyCallGraph::EdgeSequence::setEdgeKind(Node &TargetN, Edge::Kind EK) { in setEdgeKind() argument
47 Edges[EdgeIndexMap.find(&TargetN)->second].setKind(EK); in setEdgeKind()
50 bool LazyCallGraph::EdgeSequence::removeEdgeInternal(Node &TargetN) { in removeEdgeInternal() argument
51 auto IndexMapI = EdgeIndexMap.find(&TargetN); in removeEdgeInternal()
585 Node &SourceN, Node &TargetN, in switchInternalEdgeToCall() argument
587 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchInternalEdgeToCall()
596 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToCall()
601 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
614 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
690 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
725 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
732 Node &TargetN) { in switchTrivialInternalEdgeToRef() argument
733 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchTrivialInternalEdgeToRef()
741 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in switchTrivialInternalEdgeToRef()
742 assert(G->lookupSCC(SourceN) != G->lookupSCC(TargetN) && in switchTrivialInternalEdgeToRef()
746 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchTrivialInternalEdgeToRef()
750 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef() argument
751 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchInternalEdgeToRef()
759 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in switchInternalEdgeToRef()
761 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToRef()
767 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchInternalEdgeToRef()
802 TargetN.DFSNumber = TargetN.LowLink = -1; in switchInternalEdgeToRef()
803 OldSCC.Nodes.push_back(&TargetN); in switchInternalEdgeToRef()
804 G->SCCMap[&TargetN] = &OldSCC; in switchInternalEdgeToRef()
931 Node &TargetN) { in switchOutgoingEdgeToCall() argument
932 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchOutgoingEdgeToCall()
935 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToCall()
938 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToCall()
944 SourceN->setEdgeKind(TargetN, Edge::Call); in switchOutgoingEdgeToCall()
952 Node &TargetN) { in switchOutgoingEdgeToRef() argument
953 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchOutgoingEdgeToRef()
956 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToRef()
959 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToRef()
965 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchOutgoingEdgeToRef()
973 Node &TargetN) { in insertInternalRefEdge() argument
975 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertInternalRefEdge()
977 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertInternalRefEdge()
984 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge() argument
987 SourceN->insertEdgeInternal(TargetN, EK); in insertOutgoingEdge()
991 assert(G->lookupRefSCC(TargetN) != this && in insertOutgoingEdge()
994 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in insertOutgoingEdge()
1004 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge() argument
1005 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertIncomingRefEdge()
1136 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertIncomingRefEdge()
1145 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge() argument
1148 assert(G->lookupRefSCC(TargetN) != this && in removeOutgoingEdge()
1157 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeOutgoingEdge()
1182 for (auto [SourceN, TargetN] : Edges) { in removeInternalRefEdges()
1183 assert(!(**SourceN)[*TargetN].isCall() && in removeInternalRefEdges()
1186 bool Removed = (*SourceN)->removeEdgeInternal(*TargetN); in removeInternalRefEdges()
1394 Node &TargetN) { in insertTrivialCallEdge() argument
1401 SCC &TargetC = *G->lookupSCC(TargetN); in insertTrivialCallEdge()
1409 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size()); in insertTrivialCallEdge()
1418 SourceN->Edges.emplace_back(TargetN, Edge::Call); in insertTrivialCallEdge()
1422 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge() argument
1428 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1436 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size()); in insertTrivialRefEdge()
1443 SourceN->Edges.emplace_back(TargetN, Edge::Ref); in insertTrivialRefEdge()
1482 void LazyCallGraph::insertEdge(Node &SourceN, Node &TargetN, Edge::Kind EK) { in insertEdge() argument
1486 return SourceN->insertEdgeInternal(TargetN, EK); in insertEdge()
1489 void LazyCallGraph::removeEdge(Node &SourceN, Node &TargetN) { in removeEdge() argument
1493 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeEdge()