[all-commits] [llvm/llvm-project] 6dd6a6: [memprof] Deduplicate and outline frame storage in...

Snehasish Kumar via All-commits all-commits at lists.llvm.org
Fri Apr 8 09:15:36 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6dd6a6161f3a5c25162af9dc3625c8dfcc62a1ed
      https://github.com/llvm/llvm-project/commit/6dd6a6161f3a5c25162af9dc3625c8dfcc62a1ed
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2022-04-08 (Fri, 08 Apr 2022)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/RawMemProfReader.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/ProfileData/RawMemProfReader.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Deduplicate and outline frame storage in the memprof profile.

The current implementation of memprof information in the indexed profile
format stores the representation of each calling context fram inline.
This patch uses an interned representation where the frame contents are
stored in a separate on-disk hash table. The table is indexed via a hash
of the contents of the frame. With this patch, the compressed size of a
large memprof profile reduces by ~22%.

Reviewed By: tejohnson

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




More information about the All-commits mailing list