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()
586 Node &SourceN, Node &TargetN, in switchInternalEdgeToCall() argument
588 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchInternalEdgeToCall()
597 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToCall()
602 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
615 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
691 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
726 SourceN->setEdgeKind(TargetN, Edge::Call); in switchInternalEdgeToCall()
733 Node &TargetN) { in switchTrivialInternalEdgeToRef() argument
734 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchTrivialInternalEdgeToRef()
743 assert(G->lookupRefSCC(TargetN) == this && in switchTrivialInternalEdgeToRef()
745 assert(G->lookupSCC(SourceN) != G->lookupSCC(TargetN) && in switchTrivialInternalEdgeToRef()
749 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchTrivialInternalEdgeToRef()
753 LazyCallGraph::RefSCC::switchInternalEdgeToRef(Node &SourceN, Node &TargetN) { in switchInternalEdgeToRef() argument
754 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchInternalEdgeToRef()
763 assert(G->lookupRefSCC(TargetN) == this && in switchInternalEdgeToRef()
766 SCC &TargetSCC = *G->lookupSCC(TargetN); in switchInternalEdgeToRef()
772 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchInternalEdgeToRef()
807 TargetN.DFSNumber = TargetN.LowLink = -1; in switchInternalEdgeToRef()
808 OldSCC.Nodes.push_back(&TargetN); in switchInternalEdgeToRef()
809 G->SCCMap[&TargetN] = &OldSCC; in switchInternalEdgeToRef()
938 Node &TargetN) { in switchOutgoingEdgeToCall() argument
939 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!"); in switchOutgoingEdgeToCall()
942 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToCall()
945 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToCall()
951 SourceN->setEdgeKind(TargetN, Edge::Call); in switchOutgoingEdgeToCall()
959 Node &TargetN) { in switchOutgoingEdgeToRef() argument
960 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!"); in switchOutgoingEdgeToRef()
963 assert(G->lookupRefSCC(TargetN) != this && in switchOutgoingEdgeToRef()
966 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in switchOutgoingEdgeToRef()
972 SourceN->setEdgeKind(TargetN, Edge::Ref); in switchOutgoingEdgeToRef()
980 Node &TargetN) { in insertInternalRefEdge() argument
982 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertInternalRefEdge()
984 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertInternalRefEdge()
991 void LazyCallGraph::RefSCC::insertOutgoingEdge(Node &SourceN, Node &TargetN, in insertOutgoingEdge() argument
994 SourceN->insertEdgeInternal(TargetN, EK); in insertOutgoingEdge()
998 assert(G->lookupRefSCC(TargetN) != this && in insertOutgoingEdge()
1001 assert(G->lookupRefSCC(TargetN)->isDescendantOf(*this) && in insertOutgoingEdge()
1011 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) { in insertIncomingRefEdge() argument
1012 assert(G->lookupRefSCC(TargetN) == this && "Target must be in this RefSCC."); in insertIncomingRefEdge()
1143 SourceN->insertEdgeInternal(TargetN, Edge::Ref); in insertIncomingRefEdge()
1152 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) { in removeOutgoingEdge() argument
1155 assert(G->lookupRefSCC(TargetN) != this && in removeOutgoingEdge()
1164 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeOutgoingEdge()
1189 for (Node *TargetN : TargetNs) { in removeInternalRefEdge()
1190 assert(!(*SourceN)[*TargetN].isCall() && in removeInternalRefEdge()
1193 bool Removed = SourceN->removeEdgeInternal(*TargetN); in removeInternalRefEdge()
1200 [&](Node *TargetN) { return &SourceN == TargetN; })) in removeInternalRefEdge() argument
1206 if (llvm::all_of(TargetNs, [&](Node *TargetN) { in removeInternalRefEdge() argument
1207 return G->lookupSCC(*TargetN) == &SourceC; in removeInternalRefEdge()
1407 Node &TargetN) { in insertTrivialCallEdge() argument
1414 SCC &TargetC = *G->lookupSCC(TargetN); in insertTrivialCallEdge()
1422 SourceN->EdgeIndexMap.insert({&TargetN, SourceN->Edges.size()}); in insertTrivialCallEdge()
1431 SourceN->Edges.emplace_back(TargetN, Edge::Call); in insertTrivialCallEdge()
1435 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) { in insertTrivialRefEdge() argument
1441 RefSCC &TargetRC = *G->lookupRefSCC(TargetN); in insertTrivialRefEdge()
1449 SourceN->EdgeIndexMap.insert({&TargetN, SourceN->Edges.size()}); in insertTrivialRefEdge()
1455 SourceN->Edges.emplace_back(TargetN, Edge::Ref); in insertTrivialRefEdge()
1488 void LazyCallGraph::insertEdge(Node &SourceN, Node &TargetN, Edge::Kind EK) { in insertEdge() argument
1492 return SourceN->insertEdgeInternal(TargetN, EK); in insertEdge()
1495 void LazyCallGraph::removeEdge(Node &SourceN, Node &TargetN) { in removeEdge() argument
1499 bool Removed = SourceN->removeEdgeInternal(TargetN); in removeEdge()