-
- Downloads
Reland "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 85355a56. 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. Differential Revision: https://reviews.llvm.org/D118653
Showing
- compiler-rt/include/profile/InstrProfData.inc 3 additions, 1 deletioncompiler-rt/include/profile/InstrProfData.inc
- llvm/include/llvm/ProfileData/InstrProf.h 6 additions, 2 deletionsllvm/include/llvm/ProfileData/InstrProf.h
- llvm/include/llvm/ProfileData/InstrProfData.inc 3 additions, 1 deletionllvm/include/llvm/ProfileData/InstrProfData.inc
- llvm/include/llvm/ProfileData/InstrProfReader.h 14 additions, 0 deletionsllvm/include/llvm/ProfileData/InstrProfReader.h
- llvm/include/llvm/ProfileData/InstrProfWriter.h 11 additions, 0 deletionsllvm/include/llvm/ProfileData/InstrProfWriter.h
- llvm/include/llvm/ProfileData/MemProf.h 179 additions, 6 deletionsllvm/include/llvm/ProfileData/MemProf.h
- llvm/include/llvm/ProfileData/MemProfData.inc 2 additions, 2 deletionsllvm/include/llvm/ProfileData/MemProfData.inc
- llvm/include/llvm/ProfileData/RawMemProfReader.h 3 additions, 0 deletionsllvm/include/llvm/ProfileData/RawMemProfReader.h
- llvm/lib/ProfileData/CMakeLists.txt 1 addition, 0 deletionsllvm/lib/ProfileData/CMakeLists.txt
- llvm/lib/ProfileData/InstrProf.cpp 18 additions, 5 deletionsllvm/lib/ProfileData/InstrProf.cpp
- llvm/lib/ProfileData/InstrProfReader.cpp 42 additions, 1 deletionllvm/lib/ProfileData/InstrProfReader.cpp
- llvm/lib/ProfileData/InstrProfWriter.cpp 86 additions, 4 deletionsllvm/lib/ProfileData/InstrProfWriter.cpp
- llvm/lib/ProfileData/MemProf.cpp 73 additions, 0 deletionsllvm/lib/ProfileData/MemProf.cpp
- llvm/lib/ProfileData/RawMemProfReader.cpp 6 additions, 1 deletionllvm/lib/ProfileData/RawMemProfReader.cpp
- llvm/test/tools/llvm-profdata/Inputs/basic.profraw 0 additions, 0 deletionsllvm/test/tools/llvm-profdata/Inputs/basic.profraw
- llvm/test/tools/llvm-profdata/memprof-merge.test 47 additions, 0 deletionsllvm/test/tools/llvm-profdata/memprof-merge.test
- llvm/tools/llvm-profdata/llvm-profdata.cpp 41 additions, 7 deletionsllvm/tools/llvm-profdata/llvm-profdata.cpp
- llvm/unittests/ProfileData/InstrProfTest.cpp 62 additions, 0 deletionsllvm/unittests/ProfileData/InstrProfTest.cpp
- llvm/unittests/ProfileData/MemProfTest.cpp 52 additions, 2 deletionsllvm/unittests/ProfileData/MemProfTest.cpp
Loading
Please register or sign in to comment