[llvm-branch-commits] [llvm] [BOLT][NFC] Refactor function matching (PR #97502)

Shaw Young via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Jul 3 10:35:41 PDT 2024


================
@@ -456,6 +435,39 @@ Error YAMLProfileReader::readProfile(BinaryContext &BC) {
       ++MatchedWithLTOCommonName;
     }
   }
+  return MatchedWithLTOCommonName;
+}
+
+Error YAMLProfileReader::readProfile(BinaryContext &BC) {
+  if (opts::Verbosity >= 1) {
+    outs() << "BOLT-INFO: YAML profile with hash: ";
+    switch (YamlBP.Header.HashFunction) {
+    case HashFunction::StdHash:
+      outs() << "std::hash\n";
+      break;
+    case HashFunction::XXH3:
+      outs() << "xxh3\n";
+      break;
+    }
+  }
+  YamlProfileToFunction.resize(YamlBP.Functions.size() + 1);
+
+  // Computes hash for binary functions.
+  if (opts::MatchProfileWithFunctionHash) {
+    for (auto &[_, BF] : BC.getBinaryFunctions()) {
+      BF.computeHash(YamlBP.Header.IsDFSOrder, YamlBP.Header.HashFunction);
+    }
+  } else if (!opts::IgnoreHash) {
+    for (BinaryFunction *BF : ProfileBFs) {
+      if (!BF)
+        continue;
+      BF->computeHash(YamlBP.Header.IsDFSOrder, YamlBP.Header.HashFunction);
+    }
+  }
+
+  size_t MatchedWithExactName = matchWithExactName();
----------------
shawbyoung wrote:

In lines 481 - 487 
> if (opts::Verbosity >= 1) {
>    outs() << "BOLT-INFO: matched " << MatchedWithExactName
>           << " functions with identical names\n";
> ...
Match counts are directed to outs()

https://github.com/llvm/llvm-project/pull/97502


More information about the llvm-branch-commits mailing list