Lines Matching refs:G
56 LazyCallGraph::Node::Node(LazyCallGraph &G, Function &F) in Node() argument
57 : G(&G), F(F), DFSNumber(0), LowLink(0) { in Node()
79 if (Node *N = G->lookup(Callee)) in insertEdgeInternal()
133 LazyCallGraph::LazyCallGraph(LazyCallGraph &&G) in LazyCallGraph() argument
134 : BPA(std::move(G.BPA)), NodeMap(std::move(G.NodeMap)), in LazyCallGraph()
135 EntryNodes(std::move(G.EntryNodes)), in LazyCallGraph()
136 EntryIndexMap(std::move(G.EntryIndexMap)), SCCBPA(std::move(G.SCCBPA)), in LazyCallGraph()
137 SCCMap(std::move(G.SCCMap)), LeafSCCs(std::move(G.LeafSCCs)), in LazyCallGraph()
138 DFSStack(std::move(G.DFSStack)), in LazyCallGraph()
139 SCCEntryNodes(std::move(G.SCCEntryNodes)), in LazyCallGraph()
140 NextDFSNumber(G.NextDFSNumber) { in LazyCallGraph()
144 LazyCallGraph &LazyCallGraph::operator=(LazyCallGraph &&G) { in operator =() argument
145 BPA = std::move(G.BPA); in operator =()
146 NodeMap = std::move(G.NodeMap); in operator =()
147 EntryNodes = std::move(G.EntryNodes); in operator =()
148 EntryIndexMap = std::move(G.EntryIndexMap); in operator =()
149 SCCBPA = std::move(G.SCCBPA); in operator =()
150 SCCMap = std::move(G.SCCMap); in operator =()
151 LeafSCCs = std::move(G.LeafSCCs); in operator =()
152 DFSStack = std::move(G.DFSStack); in operator =()
153 SCCEntryNodes = std::move(G.SCCEntryNodes); in operator =()
154 NextDFSNumber = G.NextDFSNumber; in operator =()
162 G->SCCMap[&N] = this; in insert()
184 assert(G->SCCMap.lookup(&CallerN) == this && "Caller must be in this SCC."); in insertIntraSCCEdge()
185 assert(G->SCCMap.lookup(&CalleeN) == this && "Callee must be in this SCC."); in insertIntraSCCEdge()
194 assert(G->SCCMap.lookup(&CallerN) == this && "Caller must be in this SCC."); in insertOutgoingEdge()
196 SCC &CalleeC = *G->SCCMap.lookup(&CalleeN); in insertOutgoingEdge()
210 assert(G->SCCMap.lookup(&CalleeN) == this && "Callee must be in this SCC."); in insertIncomingEdge()
212 SCC &CallerC = *G->SCCMap.lookup(&CallerN); in insertIncomingEdge()
301 SCC &ChildC = *G->SCCMap.lookup(&ChildN); in insertIncomingEdge()
305 G->SCCMap[N] = this; in insertIncomingEdge()
312 SCC &ChildC = *G->SCCMap.lookup(&ChildN); in insertIncomingEdge()
328 assert(G->SCCMap.lookup(&CallerN) == this && in removeInterSCCEdge()
331 SCC &CalleeC = *G->SCCMap.lookup(&CalleeN); in removeInterSCCEdge()
335 assert(std::find(G->LeafSCCs.begin(), G->LeafSCCs.end(), this) == in removeInterSCCEdge()
336 G->LeafSCCs.end() && in removeInterSCCEdge()
343 SCC &OtherCalleeC = *G->SCCMap.lookup(&OtherCalleeN); in removeInterSCCEdge()
374 G->LeafSCCs.push_back(this); in removeInterSCCEdge()
392 if (SCC *ChildSCC = G->SCCMap.lookup(&ChildN)) { in internalDFS()
436 ResultSCCs.push_back(G->formSCC(N, PendingSCCStack)); in internalDFS()
476 G->SCCMap.erase(N); in removeIntraSCCEdge()
505 SCC &ChildSCC = *G->SCCMap.lookup(&ChildN); in removeIntraSCCEdge()
516 if (!std::any_of(G->LeafSCCs.begin(), G->LeafSCCs.end(), in removeIntraSCCEdge()
524 G->LeafSCCs.erase(std::remove(G->LeafSCCs.begin(), G->LeafSCCs.end(), this), in removeIntraSCCEdge()
525 G->LeafSCCs.end()); in removeIntraSCCEdge()
559 N->G = this; in updateGraphPtrs()
573 C->G = this; in updateGraphPtrs()
713 LazyCallGraph &G = AM->getResult<LazyCallGraphAnalysis>(M); in run() local
719 for (LazyCallGraph::Node &N : G) in run()
723 for (LazyCallGraph::SCC &SCC : G.postorder_sccs()) in run()