Lines Matching defs:CG
73 bool doInitialization(CallGraph &CG);
74 bool doFinalization(CallGraph &CG);
108 bool RunAllPassesOnSCC(CallGraphSCC &CurSCC, CallGraph &CG,
112 CallGraph &CG, bool &CallGraphUpToDate,
114 bool RefreshCallGraph(const CallGraphSCC &CurSCC, CallGraph &CG,
123 CallGraph &CG, bool &CallGraphUpToDate,
127 Module &M = CG.getModule();
132 DevirtualizedCall |= RefreshCallGraph(CurSCC, CG, false);
164 RefreshCallGraph(CurSCC, CG, true);
205 bool CGPassManager::RefreshCallGraph(const CallGraphSCC &CurSCC, CallGraph &CG,
315 CGN->addCalledFunction(nullptr, CG.getOrInsertFunction(CB));
349 CalleeNode = CG.getOrInsertFunction(Callee);
358 CalleeNode = CG.getCallsExternalNode();
373 CalleeNode = CG.getOrInsertFunction(Callee);
376 CalleeNode = CG.getCallsExternalNode();
427 bool CGPassManager::RunAllPassesOnSCC(CallGraphSCC &CurSCC, CallGraph &CG,
464 uint64_t RefHash = P->structuralHash(CG.getModule());
469 RunPassOnSCC(P, CurSCC, CG, CallGraphUpToDate, DevirtualizedCall);
474 if (!LocalChanged && (RefHash != P->structuralHash(CG.getModule()))) {
494 DevirtualizedCall |= RefreshCallGraph(CurSCC, CG, false);
501 CallGraph &CG = getAnalysis<CallGraphWrapperPass>().getCallGraph();
502 bool Changed = doInitialization(CG);
505 scc_iterator<CallGraph*> CGI = scc_begin(&CG);
507 CallGraphSCC CurSCC(CG, &CGI);
534 Changed |= RunAllPassesOnSCC(CurSCC, CG, DevirtualizedCall);
544 Changed |= doFinalization(CG);
548 /// Initialize CG
549 bool CGPassManager::doInitialization(CallGraph &CG) {
555 Changed |= ((FPPassManager*)PM)->doInitialization(CG.getModule());
557 Changed |= ((CallGraphSCCPass*)getContainedPass(i))->doInitialization(CG);
563 /// Finalize CG
564 bool CGPassManager::doFinalization(CallGraph &CG) {
570 Changed |= ((FPPassManager*)PM)->doFinalization(CG.getModule());
572 Changed |= ((CallGraphSCCPass*)getContainedPass(i))->doFinalization(CG);