[all-commits] [llvm/llvm-project] 091c16: [llvm-profgen] On-demand symbolization

ictwanglei via All-commits all-commits at lists.llvm.org
Tue Sep 28 09:10:19 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 091c16f76ba1e6341afd717445323f8396b7772f
      https://github.com/llvm/llvm-project/commit/091c16f76ba1e6341afd717445323f8396b7772f
  Author: wlei <wlei at fb.com>
  Date:   2021-09-28 (Tue, 28 Sep 2021)

  Changed paths:
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [llvm-profgen] On-demand symbolization

Previously we do symbolization for all the functions and actually we only need the symbols that's hit by the samples.

This can significantly speed up the time for large size binary.

Optimization for per-inliner will come along with next patch.

Reviewed By: hoy, wenlei

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


  Commit: ce40843a3fe120621bb6e4aa07dc9cbf76b6aa0e
      https://github.com/llvm/llvm-project/commit/ce40843a3fe120621bb6e4aa07dc9cbf76b6aa0e
  Author: wlei <wlei at fb.com>
  Date:   2021-09-28 (Tue, 28 Sep 2021)

  Changed paths:
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.h
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [llvm-profgen][CSSPGO] On-demand function size computation for preinliner

Similar to https://reviews.llvm.org/D110465, we can compute function size on-demand for the functions that's hit by samples.

Here we leverage the raw range samples' address to compute a set of sample hit function. Then `BinarySizeContextTracker` just works on those function range for the size.

Reviewed By: hoy

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


Compare: https://github.com/llvm/llvm-project/compare/70391b3468b8...ce40843a3fe1


More information about the All-commits mailing list