[all-commits] [llvm/llvm-project] 3b51b5: [CSSPGO][llvm-profgen] Report samples for untracka...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Mon May 24 12:39:40 PDT 2021


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

  Changed paths:
    A llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.ll
    A llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.perfbin
    A llvm/test/tools/llvm-profgen/Inputs/truncated-pseudoprobe.perfscript
    A llvm/test/tools/llvm-profgen/truncated-pseudoprobe.test
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/PerfReader.h

  Log Message:
  -----------
  [CSSPGO][llvm-profgen] Report samples for untrackable frames.

Fixing an issue where samples collected for an untrackable frame is not reported. An untrackable frame refers to a frame whose caller is untrackable due to missing debug info or pseudo probe. Though the frame is connected to its parent frame through the frame pointer chain at runtime, the compiler cannot build the connection without debug info or pseudo probe. In such case we just need to report the untrackable frame as the base frame and all of its child frames.

With more samples reported I'm seeing this improves the performance of an internal benchmark by 2.5%.

Reviewed By: wenlei, wlei

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




More information about the All-commits mailing list