Lines Matching defs:SourceN
587 Node &SourceN, Node &TargetN,
589 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!");
597 SCC &SourceSCC = *G->lookupSCC(SourceN);
603 SourceN->setEdgeKind(TargetN, Edge::Call);
616 SourceN->setEdgeKind(TargetN, Edge::Call);
692 SourceN->setEdgeKind(TargetN, Edge::Call);
727 SourceN->setEdgeKind(TargetN, Edge::Call);
733 void LazyCallGraph::RefSCC::switchTrivialInternalEdgeToRef(Node &SourceN,
735 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!");
742 assert(G->lookupRefSCC(SourceN) == this && "Source 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!");
760 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
764 assert(G->lookupSCC(SourceN) == &TargetSCC && "Source and Target must be in "
769 SourceN->setEdgeKind(TargetN, Edge::Ref);
932 void LazyCallGraph::RefSCC::switchOutgoingEdgeToCall(Node &SourceN,
934 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!");
936 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
946 SourceN->setEdgeKind(TargetN, Edge::Call);
953 void LazyCallGraph::RefSCC::switchOutgoingEdgeToRef(Node &SourceN,
955 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!");
957 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
967 SourceN->setEdgeKind(TargetN, Edge::Ref);
974 void LazyCallGraph::RefSCC::insertInternalRefEdge(Node &SourceN,
976 assert(G->lookupRefSCC(SourceN) == this && "Source 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);
991 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
1006 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) {
1008 RefSCC &SourceC = *G->lookupRefSCC(SourceN);
1138 SourceN->insertEdgeInternal(TargetN, Edge::Ref);
1147 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) {
1148 assert(G->lookupRefSCC(SourceN) == this &&
1159 bool Removed = SourceN->removeEdgeInternal(TargetN);
1184 for (auto [SourceN, TargetN] : Edges) {
1185 assert(!(**SourceN)[*TargetN].isCall() &&
1188 bool Removed = (*SourceN)->removeEdgeInternal(*TargetN);
1395 void LazyCallGraph::RefSCC::insertTrivialCallEdge(Node &SourceN,
1402 SCC &SourceC = *G->lookupSCC(SourceN);
1411 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size());
1414 Edge &E = SourceN->Edges[Iterator->second];
1420 SourceN->Edges.emplace_back(TargetN, Edge::Call);
1424 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) {
1429 RefSCC &SourceRC = *G->lookupRefSCC(SourceN);
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);