Lines Matching refs:TargetN
43 void LazyCallGraph::EdgeSequence::insertEdgeInternal(Node &TargetN, in insertEdgeInternal() argument
45 EdgeIndexMap.insert({&TargetN, Edges.size()}); in insertEdgeInternal()
46 Edges.emplace_back(TargetN, EK); in insertEdgeInternal()
49 void LazyCallGraph::EdgeSequence::setEdgeKind(Node &TargetN, Edge::Kind EK) { in setEdgeKind() argument
50 Edges[EdgeIndexMap.find(&TargetN)->second].setKind(EK); in setEdgeKind()
53 bool LazyCallGraph::EdgeSequence::removeEdgeInternal(Node &TargetN) { in removeEdgeInternal() argument
54 auto IndexMapI = EdgeIndexMap.find(&TargetN); in removeEdgeInternal()
517 Node &SourceN, Node &TargetN, in switchInternalEdgeToCall() argument
519 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchInternalEdgeToCall()
530 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToCall()
535 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
548 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
624 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
659 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
666 Node &TargetN) { in switchTrivialInternalEdgeToRef() argument
667 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchTrivialInternalEdgeToRef()
678 assert(G->lookupRefSCC(TargetN) == this && in switchTrivialInternalEdgeToRef()
680 assert(G->lookupSCC(SourceN) != G->lookupSCC(TargetN) && in switchTrivialInternalEdgeToRef()
684 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchTrivialInternalEdgeToRef()
688 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef() argument
689 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchInternalEdgeToRef()
700 assert(G->lookupRefSCC(TargetN) == this && in switchInternalEdgeToRef()
703 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToRef()
709 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchInternalEdgeToRef()
744 TargetN.DFSNumber = TargetN.LowLink = -1; in switchInternalEdgeToRef()
745 OldSCC.Nodes.push_back(&TargetN); in switchInternalEdgeToRef()
746 G->SCCMap[&TargetN] = &OldSCC; in switchInternalEdgeToRef()
875 Node &TargetN) { in switchOutgoingEdgeToCall() argument
876 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchOutgoingEdgeToCall()
879 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToCall()
882 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToCall()
888 SourceN->setEdgeKind(TargetN, Edge::Call); in switchOutgoingEdgeToCall()
897 Node &TargetN) { in switchOutgoingEdgeToRef() argument
898 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchOutgoingEdgeToRef()
901 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToRef()
904 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToRef()
910 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchOutgoingEdgeToRef()
919 Node &TargetN) { in insertInternalRefEdge() argument
921 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertInternalRefEdge()
923 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertInternalRefEdge()
931 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge() argument
934 SourceN->insertEdgeInternal(TargetN, EK); in insertOutgoingEdge()
938 assert(G->lookupRefSCC(TargetN) != this && in insertOutgoingEdge()
941 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in insertOutgoingEdge()
952 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge() argument
953 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertIncomingRefEdge()
1086 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertIncomingRefEdge()
1095 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge() argument
1098 assert(G->lookupRefSCC(TargetN) != this && in removeOutgoingEdge()
1109 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeOutgoingEdge()
1134 for (Node *TargetN : TargetNs) { in removeInternalRefEdge()
1135 assert(!(*SourceN)[*TargetN].isCall() && in removeInternalRefEdge()
1138 bool Removed = SourceN->removeEdgeInternal(*TargetN); in removeInternalRefEdge()
1145 [&](Node *TargetN) { return &SourceN == TargetN; })) in removeInternalRefEdge() argument
1151 if (llvm::all_of(TargetNs, [&](Node *TargetN) { in removeInternalRefEdge() argument
1152 return G->lookupSCC(*TargetN) == &SourceC; in removeInternalRefEdge()
1352 Node &TargetN) { in handleTrivialEdgeInsertion() argument
1358 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in handleTrivialEdgeInsertion()
1369 Node &TargetN) { in insertTrivialCallEdge() argument
1378 SCC &TargetC = *G->lookupSCC(TargetN); in insertTrivialCallEdge()
1387 SourceN->EdgeIndexMap.insert({&TargetN, SourceN->Edges.size()}); in insertTrivialCallEdge()
1396 SourceN->Edges.emplace_back(TargetN, Edge::Call); in insertTrivialCallEdge()
1400 handleTrivialEdgeInsertion(SourceN, TargetN); in insertTrivialCallEdge()
1403 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge() argument
1411 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1420 SourceN->EdgeIndexMap.insert({&TargetN, SourceN->Edges.size()}); in insertTrivialRefEdge()
1426 SourceN->Edges.emplace_back(TargetN, Edge::Ref); in insertTrivialRefEdge()
1429 handleTrivialEdgeInsertion(SourceN, TargetN); in insertTrivialRefEdge()
1463 void LazyCallGraph::insertEdge(Node &SourceN, Node &TargetN, Edge::Kind EK) { in insertEdge() argument
1467 return SourceN->insertEdgeInternal(TargetN, EK); in insertEdge()
1470 void LazyCallGraph::removeEdge(Node &SourceN, Node &TargetN) { in removeEdge() argument
1474 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeEdge()