Lines Matching full:clusters

72   std::vector<Cluster> clusters;  member in __anonfa788bc10111::CallGraphSort
86 auto res = secToCluster.try_emplace(isec, clusters.size()); in CallGraphSort()
89 clusters.emplace_back(clusters.size(), isec->getSize()); in CallGraphSort()
100 // sections. This is done because otherwise we would end up with clusters in CallGraphSort()
111 clusters[to].weight += weight; in CallGraphSort()
117 Cluster &toC = clusters[to]; in CallGraphSort()
123 for (Cluster &c : clusters) in CallGraphSort()
127 // It's bad to merge clusters which would degrade the density too much.
157 // Group InputSections into clusters using the Call-Chain Clustering heuristic
158 // then sort the clusters by density.
163 std::vector<int> sorted(clusters.size()); in run()
165 std::vector<int> leaders(clusters.size()); in run()
171 return clusters[a].getDensity() > clusters[b].getDensity(); in run()
176 // clusters[L] has not been merged into another cluster yet. in run()
177 Cluster &c = clusters[l]; in run()
188 Cluster *predC = &clusters[predL]; in run()
196 mergeClusters(clusters, *predC, predL, c, l); in run()
198 // Sort remaining non-empty clusters by density. in run()
200 for (int i = 0, e = (int)clusters.size(); i != e; ++i) in run()
201 if (clusters[i].size > 0) in run()
204 return clusters[a].getDensity() > clusters[b].getDensity(); in run()
217 i = clusters[i].next; in run()
243 i = clusters[i].next; in run()
360 // sections according to the C³ heuristic. All clusters are then sorted by a in buildInputSectionPriorities()