[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