Lines Matching refs:Clusters
87 void freezeClusters(const CallGraph &Cg, std::vector<Cluster> &Clusters) { in freezeClusters() argument
89 llvm::sort(Clusters, compareClustersDensity); in freezeClusters()
90 for (Cluster &C : Clusters) { in freezeClusters()
136 std::vector<Cluster> Clusters; in clusterize() local
137 Clusters.reserve(Cg.numNodes()); in clusterize()
142 Clusters.emplace_back(F, Cg.getNode(F)); in clusterize()
146 freezeClusters(Cg, Clusters); in clusterize()
150 for (Cluster &Cluster : Clusters) in clusterize()
243 std::vector<Cluster> Clusters; in randomClusters() local
244 Clusters.reserve(Cg.numNodes()); in randomClusters()
249 Clusters.emplace_back(F, Cg.getNode(F)); in randomClusters()
252 llvm::sort(Clusters, [](const Cluster &A, const Cluster &B) { in randomClusters()
256 auto pickMergeCluster = [&Clusters](const size_t Idx) { in randomClusters()
259 while (MaxIdx < Clusters.size() && in randomClusters()
260 Clusters[Idx].size() + Clusters[MaxIdx].size() <= MaxClusterSize) in randomClusters()
265 assert(Clusters[MergeIdx].size() + Clusters[Idx].size() <= in randomClusters()
269 return Clusters.size(); in randomClusters()
273 while (Idx < Clusters.size()) { in randomClusters()
275 if (MergeIdx == Clusters.size()) { in randomClusters()
278 Clusters[Idx].merge(Clusters[MergeIdx]); in randomClusters()
279 Clusters.erase(Clusters.begin() + MergeIdx); in randomClusters()
283 return Clusters; in randomClusters()