[all-commits] [llvm/llvm-project] 0057c7: [CSSPGO][llvm-profgen] Truncate stack samples with...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Tue Sep 14 21:56:44 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0057c7185d1cdbcfdaa9385f4b67e677066af8b8
      https://github.com/llvm/llvm-project/commit/0057c7185d1cdbcfdaa9385f4b67e677066af8b8
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2021-09-14 (Tue, 14 Sep 2021)

  Changed paths:
    A llvm/test/tools/llvm-profgen/Inputs/cs-invalid-ret-addr.perfscript
    A llvm/test/tools/llvm-profgen/cs-invalid-ret-addr.test
    M llvm/tools/llvm-profgen/PerfReader.cpp
    M llvm/tools/llvm-profgen/PerfReader.h
    M llvm/tools/llvm-profgen/ProfiledBinary.h

  Log Message:
  -----------
  [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address.

Invalid frame addresses exist in call stack samples due to bad unwinding. This could happen to frame-pointer-based unwinding and the callee functions that do not have the frame pointer chain set up. It isn't common when the program is built with the frame pointer omission disabled, but can still happen with third-party static libs built with frame pointer omitted.

Reviewed By: wenlei

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




More information about the All-commits mailing list