[llvm] [memprof] Use InstrProfWriter::addMemProfData in a unit test (NFC) (PR #116921)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 19 21:53:23 PST 2024


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/116921

This patch uses InstrProfWriter::addMemProfData to add the complete
MemProf profile to the writer context.


>From 3913cca1608142ec21bdc5f36f590f802d806372 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 19 Nov 2024 20:42:51 -0800
Subject: [PATCH] [memprof] Use InstrProfWriter::addMemProfData in a unit test
 (NFC)

This patch uses InstrProfWriter::addMemProfData to add the complete
MemProf profile to the writer context.
---
 .../Instrumentation/MemProfUseTest.cpp        | 43 +++++++++----------
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp b/llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
index ec81d2e5609163..2f703fd74b5677 100644
--- a/llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
+++ b/llvm/unittests/Transforms/Instrumentation/MemProfUseTest.cpp
@@ -434,31 +434,30 @@ attributes #1 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "t
   ASSERT_THAT_ERROR(Writer.mergeProfileKind(InstrProfKind::MemProf),
                     Succeeded());
 
-  const std::pair<memprof::FrameId, memprof::Frame> Frames[] = {
-      // The call sites within foo.
-      {0, {GUIDFoo, 1, 8, false}},
-      {1, {GUIDFoo, 2, 3, false}},
-      {2, {GUIDFoo, 3, 3, false}},
-      // Line/column numbers below don't matter.
-      {3, {GUIDBar, 9, 9, false}},
-      {4, {GUIDZzz, 9, 9, false}},
-      {5, {GUIDBaz, 9, 9, false}}};
-  for (const auto &[FrameId, Frame] : Frames)
-    Writer.addMemProfFrame(FrameId, Frame, Err);
-
-  const std::pair<memprof::CallStackId, SmallVector<memprof::FrameId>>
-      CallStacks[] = {
-          {0x111, {3, 0}}, // bar called by foo
-          {0x222, {4, 1}}, // zzz called by foo
-          {0x333, {5, 2}}  // baz called by foo
-      };
-  for (const auto &[CSId, CallStack] : CallStacks)
-    Writer.addMemProfCallStack(CSId, CallStack, Err);
-
   const IndexedMemProfRecord IndexedMR = makeRecordV2(
       /*AllocFrames=*/{0x111, 0x222, 0x333},
       /*CallSiteFrames=*/{}, MIB, memprof::getHotColdSchema());
-  Writer.addMemProfRecord(/*Id=*/0x9999, IndexedMR);
+
+  memprof::IndexedMemProfData MemProfData;
+  // The call sites within foo.
+  MemProfData.Frames.try_emplace(0, GUIDFoo, 1, 8, false);
+  MemProfData.Frames.try_emplace(1, GUIDFoo, 2, 3, false);
+  MemProfData.Frames.try_emplace(2, GUIDFoo, 3, 3, false);
+  // Line/column numbers below don't matter.
+  MemProfData.Frames.try_emplace(3, GUIDBar, 9, 9, false);
+  MemProfData.Frames.try_emplace(4, GUIDZzz, 9, 9, false);
+  MemProfData.Frames.try_emplace(5, GUIDBaz, 9, 9, false);
+  MemProfData.CallStacks.try_emplace(
+      0x111,
+      std::initializer_list<memprof::FrameId>{3, 0}); // bar called by foo
+  MemProfData.CallStacks.try_emplace(
+      0x222,
+      std::initializer_list<memprof::FrameId>{4, 1}); // zzz called by foo
+  MemProfData.CallStacks.try_emplace(
+      0x333,
+      std::initializer_list<memprof::FrameId>{5, 2}); // baz called by foo
+  MemProfData.Records.try_emplace(0x9999, IndexedMR);
+  Writer.addMemProfData(MemProfData, Err);
 
   auto Profile = Writer.writeBuffer();
 



More information about the llvm-commits mailing list