[all-commits] [llvm/llvm-project] 23391f: [llvm-profgen] Generating probe-based non-CS profile.

Hongtao Yu via All-commits all-commits at lists.llvm.org
Tue Mar 1 18:49:26 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 23391febd87779f1ed57ae6bb384ab00367969c1
      https://github.com/llvm/llvm-project/commit/23391febd87779f1ed57ae6bb384ab00367969c1
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2022-03-01 (Tue, 01 Mar 2022)

  Changed paths:
    A llvm/test/tools/llvm-profgen/inline-pseudoprobe.test
    A llvm/test/tools/llvm-profgen/noinline-pseudoprobe.test
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.h

  Log Message:
  -----------
  [llvm-profgen] Generating probe-based non-CS profile.

I'm bring up the support of pseudo-probe-based non-CS profile generation. The approach is quite similar to generating dwarf-based non-CS profile. The main difference is for a given linear instruction range, instead of each disassembled instruction,  pseudo probes that are covered by the range are processed. The pseudo probe extraction code is shared with CS probe profile generation.

I'm seeing 0.7% performance win for one of our internal large benchmark compared to using non-CS dwarf-based profile, and 0.5% win for another large benchmark when combined with profi.

Reviewed By: wenlei

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




More information about the All-commits mailing list