Lines Matching defs:SCC

148 /// where SCCNodes is the current SCC.
157 /// and additional memory effects that apply if any of the functions in the SCC
171 // Additional locations accessed if the SCC accesses argmem.
184 // We can optimistically ignore calls to functions in the same SCC, with
191 // Keep track of which additional locations are accessed if the SCC
257 /// Deduce readonly/readnone/writeonly attributes for the SCC.
278 // If the SCC accesses argmem, add recursive accesses resulting from that.
478 // Call propagation functions on each SCC in the Index
490 /// in the same SCC that the pointer data flows into. We use this to build an
491 /// SCC of the arguments.
529 /// This tracker checks whether callees are in the SCC, and if so it does not
557 // use. In this case it does not matter if the callee is within our SCC
574 // True only if certainly captured (used outside our SCC).
577 // Uses within our SCC.
691 // This is an argument which is part of the speculative SCC. Note
752 /// Deduce returned attributes for the SCC.
869 /// Deduce nocapture attributes for the SCC.
915 // then it must be calling into another function in our SCC. Save
916 // its particulars for Argument-SCC analysis later.
925 // Otherwise, it's captured. Don't bother doing SCC analysis on it.
929 // an SCC? Note that we don't allow any calls at all here, or else our
931 // functions in the SCC.
1118 /// Deduce noalias attributes for the SCC.
1160 /// conclusion due to SCC calls.
1214 // A call to a node within the SCC is assumed to return null until
1231 /// Deduce nonnull attributes for the SCC.
1234 // Speculative that all functions in the SCC return only nonnull
1260 // which prevents us from speculating about the entire SCC
1280 LLVM_DEBUG(dbgs() << "SCC marking " << F->getName() << " as nonnull\n");
1288 /// Deduce noundef attributes for the SCC.
1351 /// go on a single SCC Node. Inference involves scanning function bodies
1406 // Go through all the functions in SCC and check corresponding attribute
1407 // assumptions for each of them. Attributes that are invalid for this SCC
1483 // not in the SCC.
1494 // I is a may-throw call to a function inside our SCC. This doesn't
1495 // invalidate our current working assumption that the SCC is no-throw; we
1513 // Speculatively assume in SCC.
1568 // Speculatively assume in SCC.
1583 // Request to remove the convergent attribute from all functions in the SCC
1584 // if every callsite within the SCC is not convergent (except for calls
1585 // to functions within the SCC).
1606 /// Infer attributes from all functions in the SCC by scanning every
1615 // Request to infer nounwind attribute for all the functions in the SCC if
1616 // every callsite within the SCC is not throwing (except for calls to
1617 // functions within the SCC). Note that nounwind attribute suffers from
1637 // Request to infer nofree attribute for all the functions in the SCC if
1638 // every callsite within the SCC does not directly or indirectly free
1639 // memory (except for calls to functions within the SCC). Note that nofree
1683 // If the SCC contains multiple nodes we know for sure there is recursion.
1707 // we have no indirect recursion as the SCC size is one. This function cannot
1816 // Track whether any functions in this SCC have an unknown call edge.
1841 // Bail if the SCC only contains optnone functions.
1859 // If we have no external nodes participating in the SCC, we can deduce some
1880 PreservedAnalyses PostOrderFunctionAttrsPass::run(LazyCallGraph::SCC &C,
1914 // invalidate all analyses for all functions in this SCC.
1949 static bool runImpl(CallGraphSCC &SCC, AARGetterT AARGetter) {
1951 for (CallGraphNode *I : SCC) {
1991 // We only have a post-order SCC traversal (because SCCs are inherently
1994 // because we need to combine SCC detection and the PO walk of the call
2002 for (LazyCallGraph::SCC &SCC : RC) {
2003 if (SCC.size() != 1)
2005 Function &F = SCC.begin()->getFunction();