Lines Matching full:scc
21 // Given an SCC, propagate entry counts along the edge of the SCC nodes.
24 const SccTy &SCC, GetProfCountTy GetProfCount, AddCountTy AddCount) { in propagateFromSCC() argument
29 for (auto &Node : SCC) in propagateFromSCC()
32 // Partition the edges coming out of the SCC into those whose destination is in propagateFromSCC()
33 // in the SCC and the rest. in propagateFromSCC()
43 // For nodes in the same SCC, update the counts in two steps: in propagateFromSCC()
46 // SCC and summing them up. in propagateFromSCC()
47 // 2. Add the additional counts to the nodes in the SCC. in propagateFromSCC()
49 // traversal of nodes within the SCC doesn't affect the final result. in propagateFromSCC()
60 // Update the counts for the nodes in the SCC. in propagateFromSCC()
64 // Now update the counts for nodes outside the SCC. in propagateFromSCC()
76 /// This performs a reverse post-order traversal of the callgraph SCC. For each
77 /// SCC, it first propagates the entry counts to the nodes within the SCC
79 /// propagated to nodes outside the SCC. This requires \p GraphTraits
92 // The callgraph-scc needs to be visited in top-down order for propagation. in propagate()
93 // The scc iterator returns the scc in bottom-up order, so reverse the SCCs in propagate()
95 for (auto &SCC : reverse(SCCs)) in propagate() local
96 propagateFromSCC(SCC, GetProfCount, AddCount); in propagate()