[all-commits] [llvm/llvm-project] acfd0a: [llvm-profgen] Update callsite body samples by sum...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Mon May 16 09:13:55 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: acfd0a345619c9293ac8fa5f690fa78b27a10814
      https://github.com/llvm/llvm-project/commit/acfd0a345619c9293ac8fa5f690fa78b27a10814
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2022-05-16 (Mon, 16 May 2022)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/test/tools/llvm-profgen/inline-noprobe2.test
    M llvm/test/tools/llvm-profgen/noinline-noprobe.test
    A llvm/test/tools/llvm-profgen/update-samples.test
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.h

  Log Message:
  -----------
  [llvm-profgen] Update callsite body samples by summing up all call target samples.

Current profile generation caculcates callsite body samples and call target samples separately. The former is done based on LBR range samples while the latter is done based on branch samples. Note that there's a subtle difference. LBR ranges is formed from two consecutive branch samples. Therefore the last entry in a LBR record will not be counted towards body samples while there's still a chance for it to be counted towards call targets if it is a function call. I'm making sense of the call body samples by updating it to the aggregation of call targets.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D122609




More information about the All-commits mailing list