Skip to content

Commit 1c07d0d

Browse files
authored
Merge branch 'main' into p/libc-ctype-tests
2 parents fdf1104 + 32f7f00 commit 1c07d0d

File tree

2 files changed

+36
-45
lines changed

2 files changed

+36
-45
lines changed

llvm/unittests/ProfileData/InstrProfTest.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
using namespace llvm;
2828
using ::llvm::memprof::LineLocation;
29+
using ::testing::ElementsAre;
2930
using ::testing::EndsWith;
3031
using ::testing::IsSubsetOf;
3132
using ::testing::Pair;
@@ -564,19 +565,16 @@ TEST_F(InstrProfTest, test_caller_callee_pairs) {
564565

565566
auto It = Pairs.find(0x123);
566567
ASSERT_NE(It, Pairs.end());
567-
ASSERT_THAT(It->second, SizeIs(2));
568-
EXPECT_THAT(It->second[0], Pair(LineLocation(1, 2), 0x234U));
569-
EXPECT_THAT(It->second[1], Pair(LineLocation(5, 6), 0x345U));
568+
EXPECT_THAT(It->second, ElementsAre(Pair(LineLocation(1, 2), 0x234U),
569+
Pair(LineLocation(5, 6), 0x345U)));
570570

571571
It = Pairs.find(0x234);
572572
ASSERT_NE(It, Pairs.end());
573-
ASSERT_THAT(It->second, SizeIs(1));
574-
EXPECT_THAT(It->second[0], Pair(LineLocation(3, 4), 0U));
573+
EXPECT_THAT(It->second, ElementsAre(Pair(LineLocation(3, 4), 0U)));
575574

576575
It = Pairs.find(0x345);
577576
ASSERT_NE(It, Pairs.end());
578-
ASSERT_THAT(It->second, SizeIs(1));
579-
EXPECT_THAT(It->second[0], Pair(LineLocation(7, 8), 0U));
577+
EXPECT_THAT(It->second, ElementsAre(Pair(LineLocation(7, 8), 0U)));
580578
}
581579

582580
TEST_F(InstrProfTest, test_memprof_getrecord_error) {

llvm/unittests/ProfileData/MemProfTest.cpp

Lines changed: 31 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ using ::llvm::memprof::Frame;
3636
using ::llvm::memprof::FrameId;
3737
using ::llvm::memprof::hashCallStack;
3838
using ::llvm::memprof::IndexedAllocationInfo;
39+
using ::llvm::memprof::IndexedMemProfData;
3940
using ::llvm::memprof::IndexedMemProfRecord;
4041
using ::llvm::memprof::MemInfoBlock;
4142
using ::llvm::memprof::MemProfReader;
@@ -221,31 +222,28 @@ TEST(MemProf, FillsValue) {
221222
EXPECT_THAT(Bar.AllocSites[0].CallStack[3],
222223
FrameContains("abc", 5U, 30U, false));
223224

224-
ASSERT_THAT(Bar.CallSites, SizeIs(1));
225-
ASSERT_THAT(Bar.CallSites[0], SizeIs(2));
226-
EXPECT_THAT(Bar.CallSites[0][0], FrameContains("foo", 5U, 30U, true));
227-
EXPECT_THAT(Bar.CallSites[0][1], FrameContains("bar", 51U, 20U, false));
225+
EXPECT_THAT(Bar.CallSites,
226+
ElementsAre(ElementsAre(FrameContains("foo", 5U, 30U, true),
227+
FrameContains("bar", 51U, 20U, false))));
228228

229229
// Check the memprof record for xyz.
230230
const llvm::GlobalValue::GUID XyzId = IndexedMemProfRecord::getGUID("xyz");
231231
ASSERT_TRUE(Records.contains(XyzId));
232232
const MemProfRecord &Xyz = Records[XyzId];
233-
ASSERT_THAT(Xyz.CallSites, SizeIs(1));
234-
ASSERT_THAT(Xyz.CallSites[0], SizeIs(2));
235233
// Expect the entire frame even though in practice we only need the first
236234
// entry here.
237-
EXPECT_THAT(Xyz.CallSites[0][0], FrameContains("xyz", 5U, 30U, true));
238-
EXPECT_THAT(Xyz.CallSites[0][1], FrameContains("abc", 5U, 30U, false));
235+
EXPECT_THAT(Xyz.CallSites,
236+
ElementsAre(ElementsAre(FrameContains("xyz", 5U, 30U, true),
237+
FrameContains("abc", 5U, 30U, false))));
239238

240239
// Check the memprof record for abc.
241240
const llvm::GlobalValue::GUID AbcId = IndexedMemProfRecord::getGUID("abc");
242241
ASSERT_TRUE(Records.contains(AbcId));
243242
const MemProfRecord &Abc = Records[AbcId];
244243
EXPECT_TRUE(Abc.AllocSites.empty());
245-
ASSERT_THAT(Abc.CallSites, SizeIs(1));
246-
ASSERT_THAT(Abc.CallSites[0], SizeIs(2));
247-
EXPECT_THAT(Abc.CallSites[0][0], FrameContains("xyz", 5U, 30U, true));
248-
EXPECT_THAT(Abc.CallSites[0][1], FrameContains("abc", 5U, 30U, false));
244+
EXPECT_THAT(Abc.CallSites,
245+
ElementsAre(ElementsAre(FrameContains("xyz", 5U, 30U, true),
246+
FrameContains("abc", 5U, 30U, false))));
249247
}
250248

251249
TEST(MemProf, PortableWrapper) {
@@ -419,9 +417,8 @@ TEST(MemProf, SymbolizationFilter) {
419417

420418
ASSERT_THAT(Records, SizeIs(1));
421419
ASSERT_THAT(Records[0].AllocSites, SizeIs(1));
422-
ASSERT_THAT(Records[0].AllocSites[0].CallStack, SizeIs(1));
423-
EXPECT_THAT(Records[0].AllocSites[0].CallStack[0],
424-
FrameContains("foo", 5U, 30U, false));
420+
EXPECT_THAT(Records[0].AllocSites[0].CallStack,
421+
ElementsAre(FrameContains("foo", 5U, 30U, false)));
425422
}
426423

427424
TEST(MemProf, BaseMemProfReader) {
@@ -452,11 +449,9 @@ TEST(MemProf, BaseMemProfReader) {
452449

453450
ASSERT_THAT(Records, SizeIs(1));
454451
ASSERT_THAT(Records[0].AllocSites, SizeIs(1));
455-
ASSERT_THAT(Records[0].AllocSites[0].CallStack, SizeIs(2));
456-
EXPECT_THAT(Records[0].AllocSites[0].CallStack[0],
457-
FrameContains("foo", 20U, 5U, true));
458-
EXPECT_THAT(Records[0].AllocSites[0].CallStack[1],
459-
FrameContains("bar", 10U, 2U, false));
452+
EXPECT_THAT(Records[0].AllocSites[0].CallStack,
453+
ElementsAre(FrameContains("foo", 20U, 5U, true),
454+
FrameContains("bar", 10U, 2U, false)));
460455
}
461456

462457
TEST(MemProf, BaseMemProfReaderWithCSIdMap) {
@@ -489,36 +484,33 @@ TEST(MemProf, BaseMemProfReaderWithCSIdMap) {
489484

490485
ASSERT_THAT(Records, SizeIs(1));
491486
ASSERT_THAT(Records[0].AllocSites, SizeIs(1));
492-
ASSERT_THAT(Records[0].AllocSites[0].CallStack, SizeIs(2));
493-
EXPECT_THAT(Records[0].AllocSites[0].CallStack[0],
494-
FrameContains("foo", 20U, 5U, true));
495-
EXPECT_THAT(Records[0].AllocSites[0].CallStack[1],
496-
FrameContains("bar", 10U, 2U, false));
487+
EXPECT_THAT(Records[0].AllocSites[0].CallStack,
488+
ElementsAre(FrameContains("foo", 20U, 5U, true),
489+
FrameContains("bar", 10U, 2U, false)));
497490
}
498491

499492
TEST(MemProf, IndexedMemProfRecordToMemProfRecord) {
500493
// Verify that MemProfRecord can be constructed from IndexedMemProfRecord with
501494
// CallStackIds only.
502495

503-
llvm::DenseMap<FrameId, Frame> FrameIdMap;
496+
IndexedMemProfData MemProfData;
504497
Frame F1(1, 0, 0, false);
505498
Frame F2(2, 0, 0, false);
506499
Frame F3(3, 0, 0, false);
507500
Frame F4(4, 0, 0, false);
508-
FrameIdMap.insert({F1.hash(), F1});
509-
FrameIdMap.insert({F2.hash(), F2});
510-
FrameIdMap.insert({F3.hash(), F3});
511-
FrameIdMap.insert({F4.hash(), F4});
501+
MemProfData.addFrame(F1);
502+
MemProfData.addFrame(F2);
503+
MemProfData.addFrame(F3);
504+
MemProfData.addFrame(F4);
512505

513-
llvm::DenseMap<CallStackId, llvm::SmallVector<FrameId>> CallStackIdMap;
514506
llvm::SmallVector<FrameId> CS1 = {F1.hash(), F2.hash()};
515507
llvm::SmallVector<FrameId> CS2 = {F1.hash(), F3.hash()};
516508
llvm::SmallVector<FrameId> CS3 = {F2.hash(), F3.hash()};
517509
llvm::SmallVector<FrameId> CS4 = {F2.hash(), F4.hash()};
518-
CallStackIdMap.insert({hashCallStack(CS1), CS1});
519-
CallStackIdMap.insert({hashCallStack(CS2), CS2});
520-
CallStackIdMap.insert({hashCallStack(CS3), CS3});
521-
CallStackIdMap.insert({hashCallStack(CS4), CS4});
510+
MemProfData.addCallStack(CS1);
511+
MemProfData.addCallStack(CS2);
512+
MemProfData.addCallStack(CS3);
513+
MemProfData.addCallStack(CS4);
522514

523515
IndexedMemProfRecord IndexedRecord;
524516
IndexedAllocationInfo AI;
@@ -529,9 +521,10 @@ TEST(MemProf, IndexedMemProfRecordToMemProfRecord) {
529521
IndexedRecord.CallSiteIds.push_back(hashCallStack(CS3));
530522
IndexedRecord.CallSiteIds.push_back(hashCallStack(CS4));
531523

532-
llvm::memprof::FrameIdConverter<decltype(FrameIdMap)> FrameIdConv(FrameIdMap);
533-
llvm::memprof::CallStackIdConverter<decltype(CallStackIdMap)> CSIdConv(
534-
CallStackIdMap, FrameIdConv);
524+
llvm::memprof::FrameIdConverter<decltype(MemProfData.Frames)> FrameIdConv(
525+
MemProfData.Frames);
526+
llvm::memprof::CallStackIdConverter<decltype(MemProfData.CallStacks)>
527+
CSIdConv(MemProfData.CallStacks, FrameIdConv);
535528

536529
MemProfRecord Record = IndexedRecord.toMemProfRecord(CSIdConv);
537530

0 commit comments

Comments
 (0)