This is an archive of the discontinued LLVM Phabricator instance.

Reland "[memprof] Extend the index prof format to include memory profiles."
ClosedPublic

Authored by snehasish on Feb 17 2022, 5:11 PM.

Details

Summary

This reverts commit 19bdf44d850884a13a8708ccf1260fb7f4ef4eb3.

This patch adds support for optional memory profile information to be
included with and indexed profile. The indexed profile header adds a new
field which points to the offset of the memory profile section (if
present) in the indexed profile. For users who do not utilize this
feature the only overhead is a 64-bit offset in the header.

The memory profile section contains (1) profile metadata describing the
information recorded for each entry (2) an on-disk hashtable containing
the profile records indexed via llvm::md5(function_name). We chose to
introduce a separate hash table instead of the existing one since the
indexing for the instrumented fdo hash table is based on a CFG hash
which itself is perturbed by memprof instrumentation.

Diff Detail

Event Timeline

snehasish created this revision.Feb 17 2022, 5:11 PM
This revision was not accepted when it landed; it landed in state Draft.Feb 17 2022, 10:11 PM
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptFeb 17 2022, 10:11 PM
Herald added subscribers: llvm-commits, Restricted Project. · View Herald Transcript

This was reviewed separately in https://reviews.llvm.org/D120093 and https://reviews.llvm.org/D120103. Not sure why this draft revision was tagged. Sorry for the noise!