Home | History | Annotate | Download | only in Analysis

Lines Matching defs:SCC

449   // We do a bottom-up SCC traversal of the call graph.  In other words, we
453 const std::vector<CallGraphNode *> &SCC = *I;
454 assert(!SCC.empty() && "SCC with no functions?");
456 for (auto *CGN : SCC)
468 // We do a bottom-up SCC traversal of the call graph. In other words, we
471 const std::vector<CallGraphNode *> &SCC = *I;
472 assert(!SCC.empty() && "SCC with no functions?");
474 if (!SCC[0]->getFunction() || !SCC[0]->getFunction()->isDefinitionExact()) {
478 for (auto *Node : SCC)
483 FunctionInfo &FI = FunctionInfos[SCC[0]->getFunction()];
488 for (unsigned i = 0, e = SCC.size(); i != e && !KnowNothing; ++i) {
489 Function *F = SCC[i]->getFunction();
514 for (CallGraphNode::iterator CI = SCC[i]->begin(), E = SCC[i]->end();
521 // Can't say anything about it. However, if it is inside our SCC,
524 if (std::find(SCC.begin(), SCC.end(), CalleeNode) == SCC.end())
532 // If we can't say anything useful about this SCC, remove all SCC functions
535 for (auto *Node : SCC)
541 for (auto *Node : SCC) {
580 // Finally, now that we know the full effect on this SCC, clone the
581 // information to each function in the SCC.
585 for (unsigned i = 1, e = SCC.size(); i != e; ++i)
586 FunctionInfos[SCC[i]->getFunction()] = CachedFI;