Lines Matching full:cluster
45 struct Cluster { struct
46 Cluster(int sec, size_t s) : next(sec), prev(sec), size(s) {} in Cluster() function
67 /// * Cluster
69 /// beginning of the algorithm each input section has its own cluster and
70 /// the weight of the cluster is the sum of the weight of all incoming
77 /// * The weight of the cluster divided by the size of the cluster. This is a
78 /// proxy for the amount of execution time spent per byte of the cluster.
84 /// * Find its most likely predecessor cluster
85 /// * Check if the combined cluster would be too large, or would have too low
96 std::vector<Cluster> clusters;
100 // Maximum amount the combined cluster density can be worse than the original
101 // cluster to consider merging.
104 // Maximum cluster size in bytes.
136 // output. This messes with the cluster size and density calculations. We in CallGraphSort()
151 Cluster &toC = clusters[to]; in CallGraphSort()
157 for (Cluster &c : clusters) in CallGraphSort()
162 static bool isNewDensityBad(Cluster &a, Cluster &b) { in isNewDensityBad()
167 // Find the leader of V's belonged cluster (represented as an equivalence
178 static void mergeClusters(std::vector<Cluster> &cs, Cluster &into, int intoIdx, in mergeClusters()
179 Cluster &from, int fromIdx) { in mergeClusters()
204 // The cluster index is the same as the index of its leader here because in run()
205 // clusters[L] has not been merged into another cluster yet. in run()
206 Cluster &c = clusters[l]; in run()
216 Cluster *predC = &clusters[predL]; in run()