[all-commits] [llvm/llvm-project] 4a918f: [memprof] Use std::vector<Frame> instead of llvm::...

Kazu Hirata via All-commits all-commits at lists.llvm.org
Thu Jun 6 14:25:05 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4a918f071005a2d7aba82e031f3f745270bf67da
      https://github.com/llvm/llvm-project/commit/4a918f071005a2d7aba82e031f3f745270bf67da
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-06-06 (Thu, 06 Jun 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp

  Log Message:
  -----------
  [memprof] Use std::vector<Frame> instead of llvm::SmallVector<Frame> (NFC) (#94432)

This patch replaces llvm::SmallVector<Frame> with std::vector<Frame>.

llvm::SmallVector<Frame> sets aside one inline element.  Meanwhile,
when I sort all call stacks by their lengths, the length at the first
percentile is already 2.  That is, 99 percent of call stacks do not
take advantage of the inline element.

Using std::vector<Frame> reduces the cycle and instruction counts by
11% and 22%, respectively, with "llvm-profdata show" modified to
deserialize all MemProfRecords.



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