| /llvm-project-15.0.7/bolt/lib/Passes/ |
| H A D | HFSort.cpp | 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 107 void Cluster::merge(const Cluster &Other, const double Aw) { in merge() 114 void Cluster::merge(const Cluster &Other, in merge() 150 for (Cluster &Cluster : Clusters) in clusterize() 151 FuncCluster[Cluster.targets().front()] = &Cluster; in clusterize() 163 Cluster *Cluster = FuncCluster[Fid]; in clusterize() local 220 Cluster->clear(); in clusterize() 228 Cluster *Cluster = FuncCluster[Func]; in clusterize() local 229 if (!Cluster || Visited.count(Cluster) == 1 || Cluster->target(0) != Func) in clusterize() [all …]
|
| H A D | PettisAndHansen.cpp | 32 ClusterArc(Cluster *Ca, Cluster *Cb, double W = 0) in ClusterArc() 39 Cluster *const C1; 40 Cluster *const C2; 54 void orderFuncs(const CallGraph &Cg, Cluster *C1, Cluster *C2) { in orderFuncs() 100 std::vector<Cluster> Clusters; in pettisAndHansen() 115 auto insertOrInc = [&](Cluster *C1, Cluster *C2, double Weight) { in pettisAndHansen() 155 Cluster *const C1 = Max.C1; in pettisAndHansen() 156 Cluster *const C2 = Max.C2; in pettisAndHansen() 183 Cluster *const C = It.second; in pettisAndHansen() 202 std::set<Cluster *> LiveClusters; in pettisAndHansen() [all …]
|
| H A D | ReorderFunctions.cpp | 116 void ReorderFunctions::reorder(std::vector<Cluster> &&Clusters, in reorder() 123 for (const Cluster &Cluster : Clusters) { in reorder() local 124 for (const NodeId FuncId : Cluster.targets()) { in reorder() 166 for (Cluster &Cluster : Clusters) { in reorder() 170 Cluster.density(), Cluster.samples(), Cluster.size()); in reorder() 172 for (NodeId FuncId : Cluster.targets()) { in reorder() 286 std::vector<Cluster> Clusters; in runOnFunctions()
|
| H A D | ReorderAlgorithm.cpp | 146 std::vector<BinaryBasicBlock *> &Cluster = Clusters.back(); in clusterBasicBlocks() local 147 Cluster.push_back(BB); in clusterBasicBlocks() 516 for (ClusterAlgorithm::ClusterTy &Cluster : CAlgo->Clusters) in reorderBasicBlocks() 517 Order.insert(Order.end(), Cluster.begin(), Cluster.end()); in reorderBasicBlocks() 620 ClusterAlgorithm::ClusterTy &Cluster = Clusters[ClusterIndex]; in reorderBasicBlocks() local 621 Order.insert(Order.end(), Cluster.begin(), Cluster.end()); in reorderBasicBlocks() 669 ClusterAlgorithm::ClusterTy &Cluster = Clusters[ClusterIndex]; in reorderBasicBlocks() local 670 Order.insert(Order.end(), Cluster.begin(), Cluster.end()); in reorderBasicBlocks() 674 for (BinaryBasicBlock *BBPtr : Cluster) in reorderBasicBlocks() 725 ClusterAlgorithm::ClusterTy &Cluster = Clusters[ClusterIndex]; in reorderBasicBlocks() local [all …]
|
| H A D | HFSortPlus.cpp | 231 std::vector<Cluster> run() { in run() 252 std::vector<Cluster> Clusters; in run() 255 Clusters.emplace_back(Cluster(Chain->Nodes, Cg)); in run() 603 std::vector<Cluster> hfsortPlus(CallGraph &Cg) { in hfsortPlus()
|
| /llvm-project-15.0.7/bolt/include/bolt/Passes/ |
| H A D | ReorderUtils.h | 45 void merge(const Cluster *A, const Cluster *B) { in merge() 56 void set(const Cluster *A, const Cluster *B) { set(A, B, true); } in set() 59 void set(const Cluster *A, const Cluster *B, bool Value) { in set() 76 bool contains(const Cluster *First, const Cluster *Second) const { in contains() 80 ValueType get(const Cluster *First, const Cluster *Second) const { in get() 85 void set(const Cluster *First, const Cluster *Second, ValueType Value) { in set() 98 size_t index(const Cluster *First, const Cluster *Second) const { in index() 117 bool contains(const Cluster *First, const Cluster *Second) const { in contains() 121 ValueType get(const Cluster *First, const Cluster *Second) const { in get() 126 void set(const Cluster *First, const Cluster *Second, ValueType Value) { in set() [all …]
|
| H A D | HFSort.h | 31 class Cluster { 33 Cluster(CallGraph::NodeId Id, const CallGraph::Node &F); 34 Cluster(const std::vector<CallGraph::NodeId> &Nodes, const CallGraph &Cg); 42 void merge(const Cluster &Other, const double Aw = 0); 43 void merge(const Cluster &Other, 75 inline bool compareClustersDensity(const Cluster &C1, const Cluster &C2) { in compareClustersDensity() 82 std::vector<Cluster> clusterize(const CallGraph &Cg); 87 std::vector<Cluster> hfsortPlus(CallGraph &Cg); 94 std::vector<Cluster> pettisAndHansen(const CallGraph &Cg); 97 std::vector<Cluster> randomClusters(const CallGraph &Cg);
|
| H A D | ReorderFunctions.h | 17 class Cluster; variable 23 void reorder(std::vector<Cluster> &&Clusters,
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AArch64/ |
| H A D | misched-fusion-arith-logic.mir | 16 ; CHECK: SU(2): Ord Latency=0 Cluster 19 ; CHECK: SU(3): Ord Latency=0 Cluster 22 ; CHECK: SU(0): Ord Latency=0 Cluster 25 ; CHECK: SU(1): Ord Latency=0 Cluster 38 ; CHECK: SU(2): Ord Latency=0 Cluster 41 ; CHECK: SU(3): Ord Latency=0 Cluster 44 ; CHECK: SU(0): Ord Latency=0 Cluster 47 ; CHECK: SU(1): Ord Latency=0 Cluster 60 ; CHECK: SU(2): Ord Latency=0 Cluster 63 ; CHECK: SU(3): Ord Latency=0 Cluster [all …]
|
| H A D | misched-fusion-crypto-eor.mir | 12 ; FUSEAES: SU(1): Ord Latency=0 Cluster 20 ; FUSEAES: SU(3): Ord Latency=0 Cluster 29 ; FUSECRYPTO: SU(5): Ord Latency=0 Cluster 37 ; FUSEAES: SU(7): Ord Latency=0 Cluster 45 ; FUSEAES: SU(9): Ord Latency=0 Cluster 54 ; FUSECRYPTO: SU(11): Ord Latency=0 Cluster 63 ; FUSECRYPTO: SU(13): Ord Latency=0 Cluster 72 ; FUSECRYPTO: SU(15): Ord Latency=0 Cluster
|
| H A D | aarch64-stp-cluster.ll | 7 ; CHECK:Cluster ld/st SU(3) - SU(4) 8 ; CHECK:Cluster ld/st SU(2) - SU(5) 28 ; CHECK:Cluster ld/st SU(3) - SU(4) 29 ; CHECK:Cluster ld/st SU(2) - SU(5) 49 ; CHECK:Cluster ld/st SU(2) - SU(5) 50 ; CHECK:Cluster ld/st SU(3) - SU(4) 70 ; CHECK:Cluster ld/st SU(2) - SU(5) 71 ; CHECK:Cluster ld/st SU(3) - SU(4) 91 ; CHECK:Cluster ld/st SU(3) - SU(4) 133 ; CHECK-NOT: Cluster ld/st [all …]
|
| H A D | arm64-ldp-cluster.ll | 8 ; CHECK: Cluster ld/st SU(1) - SU(2) 23 ; CHECK: Cluster ld/st SU(1) - SU(2) 39 ; CHECK: Cluster ld/st SU(1) - SU(2) 54 ; CHECK: Cluster ld/st SU(3) - SU(4) 72 ; CHECK: Cluster ld/st SU(3) - SU(4) 90 ; CHECK-NOT: Cluster ld/st 105 ; CHECK: Cluster ld/st SU(1) - SU(3)
|
| /llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/ |
| H A D | fusion-load-store.ll | 13 ; CHECK: Cluster ld/st SU([[SU3:[0-9]+]]) - SU([[SU4:[0-9]+]]) 14 ; CHECK: Cluster ld/st SU([[SU2:[0-9]+]]) - SU([[SU5:[0-9]+]]) 21 ; CHECK: Cluster ld/st SU([[SU0:[0-9]+]]) - SU([[SU1:[0-9]+]]) 22 ; CHECK: Cluster ld/st SU([[SU2:[0-9]+]]) - SU([[SU3:[0-9]+]]) 42 ; CHECK: Cluster ld/st SU([[SU3:[0-9]+]]) - SU([[SU4:[0-9]+]]) 158 ; CHECK-NOT: Cluster ld/st 159 ; CHECK-NOT: Cluster ld/st 166 ; CHECK-NOT: Cluster ld/st 167 ; CHECK-NOT: Cluster ld/st 188 ; CHECK-NOT: Cluster ld/st [all …]
|
| /llvm-project-15.0.7/lld/COFF/ |
| H A D | CallGraphSort.cpp | 33 struct Cluster { struct 34 Cluster(int sec, size_t s) : next(sec), prev(sec), size(s) {} in Cluster() function 57 std::vector<Cluster> clusters; 111 Cluster &toC = clusters[to]; in CallGraphSort() 117 for (Cluster &c : clusters) in CallGraphSort() 122 static bool isNewDensityBad(Cluster &a, Cluster &b) { in isNewDensityBad() 138 static void mergeClusters(std::vector<Cluster> &cs, Cluster &into, int intoIdx, in mergeClusters() 139 Cluster &from, int fromIdx) { in mergeClusters() 166 Cluster &c = clusters[l]; in run() 176 Cluster *predC = &clusters[predL]; in run()
|
| /llvm-project-15.0.7/lld/ELF/ |
| H A D | CallGraphSort.cpp | 61 struct Cluster { struct 62 Cluster(int sec, size_t s) : next(sec), prev(sec), size(s) {} in Cluster() function 85 std::vector<Cluster> clusters; 140 Cluster &toC = clusters[to]; in CallGraphSort() 146 for (Cluster &c : clusters) in CallGraphSort() 151 static bool isNewDensityBad(Cluster &a, Cluster &b) { in isNewDensityBad() 167 static void mergeClusters(std::vector<Cluster> &cs, Cluster &into, int intoIdx, in mergeClusters() 168 Cluster &from, int fromIdx) { in mergeClusters() 195 Cluster &c = clusters[l]; in run() 205 Cluster *predC = &clusters[predL]; in run()
|
| /llvm-project-15.0.7/llvm/tools/llvm-exegesis/lib/ |
| H A D | Clustering.h | 82 struct Cluster { struct 83 Cluster() = delete; 84 explicit Cluster(const ClusterId &Id) : Id(Id) {} in Cluster() function 97 const Cluster &getCluster(ClusterId Id) const { in getCluster() argument 108 const std::vector<Cluster> &getValidClusters() const { return Clusters_; } in getValidClusters() 146 std::vector<Cluster> Clusters_; 147 Cluster NoiseCluster_; 148 Cluster ErrorCluster_;
|
| H A D | Analysis.cpp | 315 for (const SchedClassCluster &Cluster : Clusters) { in printSchedClassClustersHtml() local 317 << (Cluster.measurementsMatch(*SubtargetInfo_, RSC, Clustering_, in printSchedClassClustersHtml() 322 writeClusterId<kEscapeHtml>(OS, Cluster.id()); in printSchedClassClustersHtml() 324 for (const size_t PointId : Cluster.getPointIds()) { in printSchedClassClustersHtml() 328 for (const auto &Stats : Cluster.getCentroid().getStats()) { in printSchedClassClustersHtml() 441 const auto &Cluster = Clustering_.getCluster(Id); in printClusterRawHtml() local 442 if (Cluster.PointIndices.empty()) in printClusterRawHtml() 446 << Cluster.PointIndices.size() << " points)</p>"; in printClusterRawHtml() 450 for (const auto &Measurement : Points[Cluster.PointIndices[0]].Measurements) { in printClusterRawHtml() 458 for (const auto &PointId : Cluster.PointIndices) { in printClusterRawHtml()
|
| H A D | Clustering.cpp | 146 Cluster &CurrentCluster = Clusters_.back(); in clusterizeDbScan() 227 Cluster &CurrentCluster = Clusters_.back(); in clusterizeNaive() 288 Cluster &UnstableCluster = Clusters_.back(); in stabilize() 297 Cluster &OldCluster = Clusters_[CID.getId()]; // Valid clusters storage. in stabilize()
|
| /llvm-project-15.0.7/lld/MachO/ |
| H A D | SectionPriorities.cpp | 48 struct Cluster { struct 49 Cluster(int sec, size_t s) : next(sec), prev(sec), size(s) {} in Cluster() function 72 std::vector<Cluster> clusters; 117 Cluster &toC = clusters[to]; in CallGraphSort() 123 for (Cluster &c : clusters) in CallGraphSort() 128 static bool isNewDensityBad(Cluster &a, Cluster &b) { in isNewDensityBad() 144 static void mergeClusters(std::vector<Cluster> &cs, Cluster &into, int intoIdx, in mergeClusters() 145 Cluster &from, int fromIdx) { in mergeClusters() 177 Cluster &c = clusters[l]; in run() 188 Cluster *predC = &clusters[predL]; in run()
|
| /llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/ |
| H A D | RegionStore.cpp | 277 ClusterBindings Cluster = in addBinding() local 293 if (!Cluster) in lookup() 295 return Cluster->lookup(K); in lookup() 306 if (!Cluster) in removeBinding() 643 for (ClusterBindings::iterator CI = Cluster.begin(), CE = Cluster.end(); in iterBindings() 784 if (!Cluster) in scanReachableSymbols() 787 for (ClusterBindings::iterator RI = Cluster->begin(), RE = Cluster->end(); in scanReachableSymbols() 871 for (ClusterBindings::iterator I = Cluster.begin(), E = Cluster.end(); in collectSubRegionBindings() 938 if (!Cluster) { in removeSubRegionBindings() 2273 if (!Cluster) in getInterestingValues() [all …]
|
| /llvm-project-15.0.7/llvm/test/CodeGen/AMDGPU/ |
| H A D | cluster_stores.ll | 21 ; DBG: Cluster ld/st SU(1) - SU(2) 24 ; DBG: Cluster ld/st SU([[L2]]) - SU([[L3:[0-9]+]]) 25 ; DBG: Cluster ld/st SU([[L3]]) - SU([[L4:[0-9]+]]) 28 ; DBG11: Cluster ld/st SU([[S2]]) - SU([[S3:[0-9]+]]) 29 ; DBG11: Cluster ld/st SU([[S3]]) - SU([[S4:[0-9]+]]) 31 ; DBG-NOT: Cluster ld/st 157 ; DBG: Cluster ld/st SU(1) - SU(2) 160 ; DBG: Cluster ld/st SU([[L2]]) - SU([[L3:[0-9]+]]) 161 ; DBG: Cluster ld/st SU([[L3]]) - SU([[L4:[0-9]+]]) 167 ; DBG-NOT: Cluster ld/st [all …]
|
| /llvm-project-15.0.7/llvm/test/tools/llvm-exegesis/X86/ |
| H A D | analysis-noise.test | 4 # CHECK: [noise] Cluster (1 points)
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCMachineScheduler.cpp | 108 Cand.SU == CandNextClusterSU, TryCand, Cand, Cluster)) in tryCandidate() 194 Cand.SU == DAG->getNextClusterSucc(), TryCand, Cand, Cluster)) in tryCandidate()
|
| /llvm-project-15.0.7/llvm/test/CodeGen/X86/ |
| H A D | basic-block-sections-clusters-error.ll | 18 ; CHECK-ERROR4: LLVM ERROR: Invalid profile {{.*}} at line 1: Cluster list does not follow a functi…
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUExportClustering.cpp | 78 DAG->addEdge(SUb, SDep(SUa, SDep::Cluster)); in buildCluster()
|