================
@@ -949,6 +949,44 @@ void InstrProfRecord::mergeValueProfData(
     ThisSiteRecords[I].merge(OtherSiteRecords[I], Weight, Warn);
 }
 
+void InstrProfRecord::computeBlockUniformity() {
+  if (UniformCounts.empty())
+    return;
+
+  if (UniformCounts.size() != Counts.size()) {
+    UniformityBits.clear();
+    return;
+  }
+
+  UniformityBits.assign((Counts.size() + 7) / 8, 0xFF);
+  for (size_t I = 0, E = Counts.size(); I < E; ++I) {
+    uint64_t TotalCount = Counts[I];
+    uint64_t UniformCount = UniformCounts[I];
+    bool IsUniform =
+        TotalCount == 0 || (double)UniformCount / TotalCount >= 0.9;
----------------
jhuber6 wrote:

Can we keep this as an integer comparison? 

https://github.com/llvm/llvm-project/pull/190708
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to