[llvm-branch-commits] [llvm] [BOLT] Match blocks with calls as anchors (PR #96596)

Maksim Panchenko via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Jul 8 12:25:45 PDT 2024


================
@@ -155,5 +155,52 @@ std::string hashBlockLoose(BinaryContext &BC, const BinaryBasicBlock &BB) {
   return HashString;
 }
 
+/// An even looser hash level relative to $ hashBlockLoose to use with stale
+/// profile matching, composed of the names of a block's called functions in
+/// lexicographic order.
+std::string hashBlockCalls(BinaryContext &BC, const BinaryBasicBlock &BB) {
+  // The hash is computed by creating a string of all lexicographically ordered
+  // called function names.
+  std::multiset<std::string> FunctionNames;
----------------
maksfb wrote:

Consider an alternative container. https://llvm.org/docs/ProgrammersManual.html#other-set-like-container-options

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


More information about the llvm-branch-commits mailing list