[llvm-branch-commits] [llvm] [BOLT] Name similarity function matching (PR #95884)
Amir Ayupov via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 21 09:37:14 PDT 2024
================
@@ -415,6 +422,75 @@ Error YAMLProfileReader::readProfile(BinaryContext &BC) {
if (!YamlBF.Used && BF && !ProfiledFunctions.count(BF))
matchProfileToFunction(YamlBF, *BF);
+ // Uses name similarity to match functions that were not matched by name.
+ uint64_t MatchedWithDemangledName = 0;
+
+ if (opts::NameSimilarityFunctionMatchingThreshold > 0) {
+ auto DemangleName = [&](const char* String) {
+ int Status = 0;
+ char *DemangledName = abi::__cxa_demangle(String,
+ nullptr, nullptr, &Status);
+ return Status == 0 ? new std::string(DemangledName) : nullptr;
+ };
+
+ auto DeriveNameSpace = [&](std::string DemangledName) {
----------------
aaupov wrote:
Would be cool to use `getFunctionDeclContextName` from ItaniumPartialDemangler
https://github.com/llvm/llvm-project/pull/95884
More information about the llvm-branch-commits
mailing list