Lines Matching defs:TargetN

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