Lines Matching refs:Cluster

53 Cluster::Cluster(NodeId Id, const Node &Func)  in Cluster()  function in llvm::bolt::Cluster
59 Cluster::Cluster(const std::vector<NodeId> &Nodes, const CallGraph &Cg) { in Cluster() function in llvm::bolt::Cluster
70 std::string Cluster::toString() const { in toString()
87 void freezeClusters(const CallGraph &Cg, std::vector<Cluster> &Clusters) { in freezeClusters()
90 for (Cluster &C : Clusters) { in freezeClusters()
105 void Cluster::reverseTargets() { std::reverse(Targets.begin(), Targets.end()); } in reverseTargets()
107 void Cluster::merge(const Cluster &Other, const double Aw) { in merge()
114 void Cluster::merge(const Cluster &Other, in merge()
122 void Cluster::clear() { in clear()
131 std::vector<Cluster> clusterize(const CallGraph &Cg) { in clusterize()
135 std::vector<Cluster *> FuncCluster(Cg.numNodes(), nullptr); in clusterize()
136 std::vector<Cluster> Clusters; in clusterize()
150 for (Cluster &Cluster : Clusters) in clusterize()
151 FuncCluster[Cluster.targets().front()] = &Cluster; in clusterize()
163 Cluster *Cluster = FuncCluster[Fid]; in clusterize() local
164 if (Cluster->frozen()) in clusterize()
188 class Cluster *PredCluster = FuncCluster[BestPred]; in clusterize()
192 if (PredCluster == nullptr || PredCluster == Cluster || in clusterize()
197 if (Cluster->size() + PredCluster->size() > MaxClusterSize) in clusterize()
204 ((double)PredCluster->samples() + Cluster->samples()) / in clusterize()
205 (PredCluster->size() + Cluster->size()); in clusterize()
213 Cluster->toString().c_str(), Cg.samples(Fid)); in clusterize()
216 for (NodeId F : Cluster->targets()) in clusterize()
219 PredCluster->merge(*Cluster); in clusterize()
220 Cluster->clear(); in clusterize()
225 std::vector<Cluster> SortedClusters; in clusterize()
226 std::unordered_set<Cluster *> Visited; in clusterize()
228 Cluster *Cluster = FuncCluster[Func]; in clusterize() local
229 if (!Cluster || Visited.count(Cluster) == 1 || Cluster->target(0) != Func) in clusterize()
232 SortedClusters.emplace_back(std::move(*Cluster)); in clusterize()
233 Visited.insert(Cluster); in clusterize()
241 std::vector<Cluster> randomClusters(const CallGraph &Cg) { in randomClusters()
243 std::vector<Cluster> Clusters; in randomClusters()
252 llvm::sort(Clusters, [](const Cluster &A, const Cluster &B) { in randomClusters()