Lines Matching defs:SourceN
585 Node &SourceN, Node &TargetN,
587 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!");
595 SCC &SourceSCC = *G->lookupSCC(SourceN);
601 SourceN->setEdgeKind(TargetN, Edge::Call);
614 SourceN->setEdgeKind(TargetN, Edge::Call);
690 SourceN->setEdgeKind(TargetN, Edge::Call);
725 SourceN->setEdgeKind(TargetN, Edge::Call);
731 void LazyCallGraph::RefSCC::switchTrivialInternalEdgeToRef(Node &SourceN,
733 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!");
740 assert(G->lookupRefSCC(SourceN) == this && "Source 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!");
758 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
762 assert(G->lookupSCC(SourceN) == &TargetSCC && "Source and Target must be in "
767 SourceN->setEdgeKind(TargetN, Edge::Ref);
930 void LazyCallGraph::RefSCC::switchOutgoingEdgeToCall(Node &SourceN,
932 assert(!(*SourceN)[TargetN].isCall() && "Must start with a ref edge!");
934 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
944 SourceN->setEdgeKind(TargetN, Edge::Call);
951 void LazyCallGraph::RefSCC::switchOutgoingEdgeToRef(Node &SourceN,
953 assert((*SourceN)[TargetN].isCall() && "Must start with a call edge!");
955 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
965 SourceN->setEdgeKind(TargetN, Edge::Ref);
972 void LazyCallGraph::RefSCC::insertInternalRefEdge(Node &SourceN,
974 assert(G->lookupRefSCC(SourceN) == this && "Source 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);
989 assert(G->lookupRefSCC(SourceN) == this && "Source must be in this RefSCC.");
1004 LazyCallGraph::RefSCC::insertIncomingRefEdge(Node &SourceN, Node &TargetN) {
1006 RefSCC &SourceC = *G->lookupRefSCC(SourceN);
1136 SourceN->insertEdgeInternal(TargetN, Edge::Ref);
1145 void LazyCallGraph::RefSCC::removeOutgoingEdge(Node &SourceN, Node &TargetN) {
1146 assert(G->lookupRefSCC(SourceN) == this &&
1157 bool Removed = SourceN->removeEdgeInternal(TargetN);
1182 for (auto [SourceN, TargetN] : Edges) {
1183 assert(!(**SourceN)[*TargetN].isCall() &&
1186 bool Removed = (*SourceN)->removeEdgeInternal(*TargetN);
1393 void LazyCallGraph::RefSCC::insertTrivialCallEdge(Node &SourceN,
1400 SCC &SourceC = *G->lookupSCC(SourceN);
1409 SourceN->EdgeIndexMap.try_emplace(&TargetN, SourceN->Edges.size());
1412 Edge &E = SourceN->Edges[Iterator->second];
1418 SourceN->Edges.emplace_back(TargetN, Edge::Call);
1422 void LazyCallGraph::RefSCC::insertTrivialRefEdge(Node &SourceN, Node &TargetN) {
1427 RefSCC &SourceRC = *G->lookupRefSCC(SourceN);
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);