From 118d47bf32e56a63875c74bbf5a5a01af1ece5db Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 11 Dec 2024 16:34:22 -0800 Subject: [PATCH] [memprof] Use IndexedMemProfData in unit tests (NFC) This patch uses IndexedMemProfData in unit tests even when we only need CallStacks. This way, we get to use addCallStack. Also, the look is more consistent with other unit tests, where we typically do: IndexMemProfData MemProfData; MemProfData.addFrame(...); MemProfData.addCallStack(...); // Run some tests --- llvm/unittests/ProfileData/MemProfTest.cpp | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/llvm/unittests/ProfileData/MemProfTest.cpp b/llvm/unittests/ProfileData/MemProfTest.cpp index 8b700673814c3..db69686a7694f 100644 --- a/llvm/unittests/ProfileData/MemProfTest.cpp +++ b/llvm/unittests/ProfileData/MemProfTest.cpp @@ -581,11 +581,11 @@ TEST(MemProf, MissingFrameId) { // Verify CallStackRadixTreeBuilder can handle empty inputs. TEST(MemProf, RadixTreeBuilderEmpty) { llvm::DenseMap MemProfFrameIndexes; - llvm::MapVector> MemProfCallStackData; + IndexedMemProfData MemProfData; llvm::DenseMap FrameHistogram = - computeFrameHistogram(MemProfCallStackData); + computeFrameHistogram(MemProfData.CallStacks); CallStackRadixTreeBuilder Builder; - Builder.build(std::move(MemProfCallStackData), &MemProfFrameIndexes, + Builder.build(std::move(MemProfData.CallStacks), &MemProfFrameIndexes, FrameHistogram); ASSERT_THAT(Builder.getRadixArray(), IsEmpty()); const auto Mappings = Builder.takeCallStackPos(); @@ -597,12 +597,12 @@ TEST(MemProf, RadixTreeBuilderOne) { llvm::DenseMap MemProfFrameIndexes = { {11, 1}, {12, 2}, {13, 3}}; llvm::SmallVector CS1 = {13, 12, 11}; - llvm::MapVector> MemProfCallStackData; - MemProfCallStackData.insert({hashCallStack(CS1), CS1}); + IndexedMemProfData MemProfData; + MemProfData.addCallStack(CS1); llvm::DenseMap FrameHistogram = - computeFrameHistogram(MemProfCallStackData); + computeFrameHistogram(MemProfData.CallStacks); CallStackRadixTreeBuilder Builder; - Builder.build(std::move(MemProfCallStackData), &MemProfFrameIndexes, + Builder.build(std::move(MemProfData.CallStacks), &MemProfFrameIndexes, FrameHistogram); EXPECT_THAT(Builder.getRadixArray(), ElementsAre(3U, // Size of CS1, @@ -620,13 +620,13 @@ TEST(MemProf, RadixTreeBuilderTwo) { {11, 1}, {12, 2}, {13, 3}}; llvm::SmallVector CS1 = {12, 11}; llvm::SmallVector CS2 = {13, 12, 11}; - llvm::MapVector> MemProfCallStackData; - MemProfCallStackData.insert({hashCallStack(CS1), CS1}); - MemProfCallStackData.insert({hashCallStack(CS2), CS2}); + IndexedMemProfData MemProfData; + MemProfData.addCallStack(CS1); + MemProfData.addCallStack(CS2); llvm::DenseMap FrameHistogram = - computeFrameHistogram(MemProfCallStackData); + computeFrameHistogram(MemProfData.CallStacks); CallStackRadixTreeBuilder Builder; - Builder.build(std::move(MemProfCallStackData), &MemProfFrameIndexes, + Builder.build(std::move(MemProfData.CallStacks), &MemProfFrameIndexes, FrameHistogram); EXPECT_THAT(Builder.getRadixArray(), ElementsAre(2U, // Size of CS1 @@ -651,15 +651,15 @@ TEST(MemProf, RadixTreeBuilderSuccessiveJumps) { llvm::SmallVector CS2 = {15, 13, 12, 11}; llvm::SmallVector CS3 = {17, 16, 12, 11}; llvm::SmallVector CS4 = {18, 16, 12, 11}; - llvm::MapVector> MemProfCallStackData; - MemProfCallStackData.insert({hashCallStack(CS1), CS1}); - MemProfCallStackData.insert({hashCallStack(CS2), CS2}); - MemProfCallStackData.insert({hashCallStack(CS3), CS3}); - MemProfCallStackData.insert({hashCallStack(CS4), CS4}); + IndexedMemProfData MemProfData; + MemProfData.addCallStack(CS1); + MemProfData.addCallStack(CS2); + MemProfData.addCallStack(CS3); + MemProfData.addCallStack(CS4); llvm::DenseMap FrameHistogram = - computeFrameHistogram(MemProfCallStackData); + computeFrameHistogram(MemProfData.CallStacks); CallStackRadixTreeBuilder Builder; - Builder.build(std::move(MemProfCallStackData), &MemProfFrameIndexes, + Builder.build(std::move(MemProfData.CallStacks), &MemProfFrameIndexes, FrameHistogram); EXPECT_THAT(Builder.getRadixArray(), ElementsAre(4U, // Size of CS1