[memprof] Move the meminfo block struct to MemProfData.inc.
authorSnehasish Kumar <snehasishk@google.com>
Wed, 29 Dec 2021 23:31:11 +0000 (15:31 -0800)
committerSnehasish Kumar <snehasishk@google.com>
Mon, 31 Jan 2022 23:04:41 +0000 (15:04 -0800)
commit8306968b592d942cc49bde2e387061e673a9fbb7
tree9ab54960c577410ccb22db214d64bb312a0ab7bb
parent702c0cfa07597af150b0556c97ce0431a7d1de59
[memprof] Move the meminfo block struct to MemProfData.inc.

The definition of the MemInfoBlock is shared between the memprof
compiler-rt runtime and llvm/lib/ProfileData/. This change removes the
memprof_meminfoblock header and moves the struct to the shared include
file. To enable this sharing, the Print method is moved to the
memprof_allocator (the only place it is used) and the remaining uses are
updated to refer to the MemInfoBlock defined in the MemProfData.inc
file.

Also a couple of other minor changes which improve usability of the
types in MemProfData.inc.
* Update the PACKED macro to handle commas.
* Add constructors and equality operators.
* Don't initialize the buildid field.

Differential Revision: https://reviews.llvm.org/D116780
compiler-rt/include/profile/MemProfData.inc
compiler-rt/lib/memprof/memprof_allocator.cpp
compiler-rt/lib/memprof/memprof_meminfoblock.h [deleted file]
compiler-rt/lib/memprof/memprof_mibmap.cpp
compiler-rt/lib/memprof/memprof_mibmap.h
compiler-rt/lib/memprof/memprof_rawprofile.cpp
compiler-rt/lib/memprof/tests/rawprofile.cpp
llvm/include/llvm/ProfileData/MemProfData.inc