[compiler-rt] [llvm] [Memprof] Adds the option to collect AccessCountHistograms for memprof. (PR #94264)
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 4 14:13:36 PDT 2024
================
@@ -146,24 +146,35 @@ void SerializeStackToBuffer(const Vector<u64> &StackIds,
// ---------- MIB Entry 0
// Alloc Count
// ...
+// ---- AccessHistogram Entry 0
+// ...
+// ---- AccessHistogram Entry AccessHistogramSize - 1
// ---------- MIB Entry 1
// Alloc Count
// ...
+// ---- AccessHistogram Entry 0
+// ...
+// ---- AccessHistogram Entry AccessHistogramSize - 1
// ----------
void SerializeMIBInfoToBuffer(MIBMapTy &MIBMap, const Vector<u64> &StackIds,
const u64 ExpectedNumBytes, char *&Buffer) {
char *Ptr = Buffer;
const u64 NumEntries = StackIds.Size();
Ptr = WriteBytes(NumEntries, Ptr);
-
for (u64 i = 0; i < NumEntries; i++) {
const u64 Key = StackIds[i];
MIBMapTy::Handle h(&MIBMap, Key, /*remove=*/true, /*create=*/false);
CHECK(h.exists());
Ptr = WriteBytes(Key, Ptr);
Ptr = WriteBytes((*h)->mib, Ptr);
----------------
teresajohnson wrote:
Do we end up serializing out the AccessHistogram pointer unnecessarily?
https://github.com/llvm/llvm-project/pull/94264
More information about the llvm-commits
mailing list