wlei-llvm wrote: > > > > > > Ping @wlei-llvm > > > > > > > > > > > > > > > Sorry for the delay. The new version addressed my last comment (with > > > > > just minor nits). However, I didn't fully follow the new features > > > > > related to `ProbeMatchSpecs` stuffs. Could you add more descriptions > > > > > to the diff summary? Or if it’s not a lot of work, could we split it > > > > > into two patches? We could commit the first part, and I will review > > > > > the second part separately. > > > > > > > > > > > > NVM, I think now I get what `ProbeMatchSpecs` does, it's a vector > > > > because a function can have multiple sections(function split) > > > > > > > > > Thank you for reviewing and sorry for the delay from my end, was busy > > > with profile quality work. > > > ProbeMatchSpecs is a mechanism to match probes belonging to another > > > binary function. I'm going to utilize it in probe-based function matching > > > (#100446). For example: > > > source function: > > > ``` > > > void foo() { > > > bar(); > > > } > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > profiled binary: bar is not inlined => have top-level function bar new > > > binary (where the profile is applied to): bar is inlined into foo. > > > Right now, BOLT does 1:1 matching between profile functions and binary > > > functions based on the name. #100446 will extend this to N:M where > > > multiple profiles can be matched to one binary function (as in the > > > example above where binary function foo would use profiles for foo and > > > bar), and one profile can be matched to multiple binary functions (eg if > > > bar was inlined into multiple functions). > > > In this diff, ProbeMatchSpecs would only have one BinaryFunctionProfile > > > (existing name-based matching). > > > > > > Thanks for the explanation! I was confused of the use of `ProbeMatchSpecs`, > > it would be great to add more descriptions in the diff summary or somewhere > > in the comments, or in the another patch when it's used(IMO if we add a > > feature, but we doesn't use it in the patch, it should be in the future > > patch when it's used) > > Thank you. Added description of ProbeMatchSpecs to the summary. I decided to > introduce it in this diff because there's tight coupling between probe-based > block matching and function matching. This way, probe-based function matching > would not need to change how block matching works.
Makes sense, thanks for clarifying! https://github.com/llvm/llvm-project/pull/99891 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits