[PATCH] D123094: [memprof] Deduplicate and outline frame storage in the memprof profile.

Snehasish Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 4 16:07:12 PDT 2022


snehasish created this revision.
snehasish added reviewers: tejohnson, davidxl.
Herald added a subscriber: hiraditya.
Herald added a project: All.
snehasish requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

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%.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D123094

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

STAMPS
actor(@snehasish) application(Differential) author(@snehasish) herald(H114) herald(H225) herald(H428) herald(H576) herald(H599) herald(H615) herald(H864) monogram(D123094) object-type(DREV) phid(PHID-DREV-dqo3hmorwecjbvyabapm) reviewer(@davidxl) reviewer(@tejohnson) revision-repository(rG) revision-status(needs-review) subscriber(@hiraditya) subscriber(@llvm-commits) tag(#all) tag(#llvm) via(conduit)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123094.420337.patch
Type: text/x-patch
Size: 59280 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220404/3da362ad/attachment.bin>


More information about the llvm-commits mailing list