================ @@ -73,13 +73,26 @@ class YAMLProfileReader : public ProfileReaderBase { bool parseFunctionProfile(BinaryFunction &Function, const yaml::bolt::BinaryFunctionProfile &YamlBF); + /// Returns block cnt equality if IgnoreHash is true, otherwise, hash equality + bool profileMatches(const yaml::bolt::BinaryFunctionProfile &Profile, + BinaryFunction &BF); + /// Infer function profile from stale data (collected on older binaries). bool inferStaleProfile(BinaryFunction &Function, const yaml::bolt::BinaryFunctionProfile &YamlBF); /// Initialize maps for profile matching. void buildNameMaps(BinaryContext &BC); + /// Matches functions using exact name. + size_t matchWithExactName(); ---------------- shawbyoung wrote:
I'm moving the different matching techniques into separate functions because it'll be easier to understand and prevent the YAMLProfileReader::readProfile function from getting abhorrently large as I'll be adding call graph function matching to it in a subsequent PR. I'll add this explanation to the description. https://github.com/llvm/llvm-project/pull/97502 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits