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