[llvm] [BOLT] Hash-based function matching (PR #96572)

Maksim Panchenko via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 12:44:58 PDT 2024


================
@@ -363,9 +365,21 @@ Error YAMLProfileReader::readProfile(BinaryContext &BC) {
     return Profile.Hash == static_cast<uint64_t>(BF.getHash());
   };
 
-  // We have to do 2 passes since LTO introduces an ambiguity in function
-  // names. The first pass assigns profiles that match 100% by name and
-  // by hash. The second pass allows name ambiguity for LTO private functions.
+  uint64_t MatchedWithExactName = 0;
+  uint64_t MatchedWithHash = 0;
+  uint64_t MatchedWithLTOCommonName = 0;
+
+  // Computes hash for binary functions.
+  if (opts::MatchProfileWithFunctionHash)
----------------
maksfb wrote:

Use braces here b/c the `else` case will have braces.

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


More information about the llvm-commits mailing list