[all-commits] [llvm/llvm-project] 124e47: [llvm-profgen] Strip coroutine suffixes from DWARF...

HighW4y2H3ll via All-commits all-commits at lists.llvm.org
Tue Sep 15 17:13:01 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 124e476295e62296a012f35b192644d1a2c3244c
      https://github.com/llvm/llvm-project/commit/124e476295e62296a012f35b192644d1a2c3244c
  Author: HighW4y2H3ll <zhenghaohuu at gmail.com>
  Date:   2026-09-15 (Tue, 15 Sep 2026)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfbin
    M llvm/test/tools/llvm-profgen/X86/Inputs/coroutine.perfscript
    M llvm/test/tools/llvm-profgen/X86/coroutine.test
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm-profgen] Strip coroutine suffixes from DWARF info (#217980)

https://github.com/llvm/llvm-project/pull/141889 preserves coroutine
suffixes into the DWARF linkage name, which may unexpectedly pass down
those suffixes into the profile in llvm-profgen. The logging also shows
extremely high percentages of samples being recovered from symbol table
because of the unstripped suffixes introduced from DWARF linkage name.
```
warning: 45.38%(754559/1662830) of samples are from ranges that belong to functions recovered from symbol table.
```
This fix strips the coroutine in: 1) the inital
`loadSymbolsFromDWARFUnit` for profiled functions and 2) the stack
`symbolize` that constructs the context trie

Also updates the coroutine unittest to move coroutine header from
experimental to standard.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list