Lines Matching defs:clusters
72 std::vector<Cluster> clusters;
86 auto res = secToCluster.try_emplace(isec, clusters.size());
89 clusters.emplace_back(clusters.size(), isec->getSize());
100 // sections. This is done because otherwise we would end up with clusters
111 clusters[to].weight += weight;
117 Cluster &toC = clusters[to];
123 for (Cluster &c : clusters)
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());
165 std::vector<int> leaders(clusters.size());
171 return clusters[a].getDensity() > clusters[b].getDensity();
176 // clusters[L] has not been merged into another cluster yet.
177 Cluster &c = clusters[l];
188 Cluster *predC = &clusters[predL];
196 mergeClusters(clusters, *predC, predL, c, l);
198 // Sort remaining non-empty clusters by density.
200 for (int i = 0, e = (int)clusters.size(); i != e; ++i)
201 if (clusters[i].size > 0)
204 return clusters[a].getDensity() > clusters[b].getDensity();
217 i = clusters[i].next;
243 i = clusters[i].next;
360 // sections according to the C³ heuristic. All clusters are then sorted by a