@@ -434,7 +434,7 @@ TEST(MemProf, BaseMemProfReader) {
434
434
MemProfData.Frames .insert ({F2.hash (), F2});
435
435
436
436
llvm::SmallVector<FrameId> CallStack{F1.hash (), F2.hash ()};
437
- CallStackId CSId = llvm::memprof:: hashCallStack (CallStack);
437
+ CallStackId CSId = hashCallStack (CallStack);
438
438
MemProfData.CallStacks .try_emplace (CSId, CallStack);
439
439
440
440
IndexedMemProfRecord FakeRecord;
@@ -470,15 +470,15 @@ TEST(MemProf, BaseMemProfReaderWithCSIdMap) {
470
470
MemProfData.Frames .insert ({F2.hash (), F2});
471
471
472
472
llvm::SmallVector<FrameId> CallStack = {F1.hash (), F2.hash ()};
473
- CallStackId CSId = llvm::memprof:: hashCallStack (CallStack);
473
+ CallStackId CSId = hashCallStack (CallStack);
474
474
MemProfData.CallStacks .insert ({CSId, CallStack});
475
475
476
476
IndexedMemProfRecord FakeRecord;
477
477
MemInfoBlock Block;
478
478
Block.AllocCount = 1U , Block.TotalAccessDensity = 4 ,
479
479
Block.TotalLifetime = 200001 ;
480
480
FakeRecord.AllocSites .emplace_back (
481
- /* CSId=*/ llvm::memprof:: hashCallStack (CallStack),
481
+ /* CSId=*/ hashCallStack (CallStack),
482
482
/* MB=*/ Block);
483
483
MemProfData.Records .insert ({F1.hash (), FakeRecord});
484
484
@@ -517,19 +517,19 @@ TEST(MemProf, IndexedMemProfRecordToMemProfRecord) {
517
517
llvm::SmallVector<FrameId> CS2 = {F1.hash (), F3.hash ()};
518
518
llvm::SmallVector<FrameId> CS3 = {F2.hash (), F3.hash ()};
519
519
llvm::SmallVector<FrameId> CS4 = {F2.hash (), F4.hash ()};
520
- CallStackIdMap.insert ({llvm::memprof:: hashCallStack (CS1), CS1});
521
- CallStackIdMap.insert ({llvm::memprof:: hashCallStack (CS2), CS2});
522
- CallStackIdMap.insert ({llvm::memprof:: hashCallStack (CS3), CS3});
523
- CallStackIdMap.insert ({llvm::memprof:: hashCallStack (CS4), CS4});
520
+ CallStackIdMap.insert ({hashCallStack (CS1), CS1});
521
+ CallStackIdMap.insert ({hashCallStack (CS2), CS2});
522
+ CallStackIdMap.insert ({hashCallStack (CS3), CS3});
523
+ CallStackIdMap.insert ({hashCallStack (CS4), CS4});
524
524
525
525
IndexedMemProfRecord IndexedRecord;
526
526
IndexedAllocationInfo AI;
527
- AI.CSId = llvm::memprof:: hashCallStack (CS1);
527
+ AI.CSId = hashCallStack (CS1);
528
528
IndexedRecord.AllocSites .push_back (AI);
529
- AI.CSId = llvm::memprof:: hashCallStack (CS2);
529
+ AI.CSId = hashCallStack (CS2);
530
530
IndexedRecord.AllocSites .push_back (AI);
531
- IndexedRecord.CallSiteIds .push_back (llvm::memprof:: hashCallStack (CS3));
532
- IndexedRecord.CallSiteIds .push_back (llvm::memprof:: hashCallStack (CS4));
531
+ IndexedRecord.CallSiteIds .push_back (hashCallStack (CS3));
532
+ IndexedRecord.CallSiteIds .push_back (hashCallStack (CS4));
533
533
534
534
llvm::memprof::FrameIdConverter<decltype (FrameIdMap)> FrameIdConv (FrameIdMap);
535
535
llvm::memprof::CallStackIdConverter<decltype (CallStackIdMap)> CSIdConv (
@@ -645,23 +645,21 @@ TEST(MemProf, RadixTreeBuilderOne) {
645
645
{11 , 1 }, {12 , 2 }, {13 , 3 }};
646
646
llvm::SmallVector<llvm::memprof::FrameId> CS1 = {13 , 12 , 11 };
647
647
llvm::MapVector<CallStackId, llvm::SmallVector<FrameId>> MemProfCallStackData;
648
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS1), CS1});
648
+ MemProfCallStackData.insert ({hashCallStack (CS1), CS1});
649
649
llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
650
650
FrameHistogram =
651
651
llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
652
652
llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
653
653
Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
654
654
FrameHistogram);
655
- EXPECT_THAT (Builder.getRadixArray (), testing::ElementsAreArray ({
656
- 3U , // Size of CS1,
657
- 3U , // MemProfFrameIndexes[13]
658
- 2U , // MemProfFrameIndexes[12]
659
- 1U // MemProfFrameIndexes[11]
660
- } ));
655
+ EXPECT_THAT (Builder.getRadixArray (),
656
+ ElementsAre ( 3U , // Size of CS1,
657
+ 3U , // MemProfFrameIndexes[13]
658
+ 2U , // MemProfFrameIndexes[12]
659
+ 1U // MemProfFrameIndexes[11]
660
+ ));
661
661
const auto Mappings = Builder.takeCallStackPos ();
662
- ASSERT_THAT (Mappings, SizeIs (1 ));
663
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
664
- llvm::memprof::hashCallStack (CS1), 0U )));
662
+ EXPECT_THAT (Mappings, UnorderedElementsAre (Pair (hashCallStack (CS1), 0U )));
665
663
}
666
664
667
665
// Verify CallStackRadixTreeBuilder can form a link between two call stacks.
@@ -671,29 +669,25 @@ TEST(MemProf, RadixTreeBuilderTwo) {
671
669
llvm::SmallVector<llvm::memprof::FrameId> CS1 = {12 , 11 };
672
670
llvm::SmallVector<llvm::memprof::FrameId> CS2 = {13 , 12 , 11 };
673
671
llvm::MapVector<CallStackId, llvm::SmallVector<FrameId>> MemProfCallStackData;
674
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS1), CS1});
675
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS2), CS2});
672
+ MemProfCallStackData.insert ({hashCallStack (CS1), CS1});
673
+ MemProfCallStackData.insert ({hashCallStack (CS2), CS2});
676
674
llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
677
675
FrameHistogram =
678
676
llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
679
677
llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
680
678
Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
681
679
FrameHistogram);
682
680
EXPECT_THAT (Builder.getRadixArray (),
683
- testing::ElementsAreArray ({
684
- 2U , // Size of CS1
685
- static_cast <uint32_t >(-3 ), // Jump 3 steps
686
- 3U , // Size of CS2
687
- 3U , // MemProfFrameIndexes[13]
688
- 2U , // MemProfFrameIndexes[12]
689
- 1U // MemProfFrameIndexes[11]
690
- }));
681
+ ElementsAre (2U , // Size of CS1
682
+ static_cast <uint32_t >(-3 ), // Jump 3 steps
683
+ 3U , // Size of CS2
684
+ 3U , // MemProfFrameIndexes[13]
685
+ 2U , // MemProfFrameIndexes[12]
686
+ 1U // MemProfFrameIndexes[11]
687
+ ));
691
688
const auto Mappings = Builder.takeCallStackPos ();
692
- ASSERT_THAT (Mappings, SizeIs (2 ));
693
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
694
- llvm::memprof::hashCallStack (CS1), 0U )));
695
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
696
- llvm::memprof::hashCallStack (CS2), 2U )));
689
+ EXPECT_THAT (Mappings, UnorderedElementsAre (Pair (hashCallStack (CS1), 0U ),
690
+ Pair (hashCallStack (CS2), 2U )));
697
691
}
698
692
699
693
// Verify CallStackRadixTreeBuilder can form a jump to a prefix that itself has
@@ -707,44 +701,38 @@ TEST(MemProf, RadixTreeBuilderSuccessiveJumps) {
707
701
llvm::SmallVector<llvm::memprof::FrameId> CS3 = {17 , 16 , 12 , 11 };
708
702
llvm::SmallVector<llvm::memprof::FrameId> CS4 = {18 , 16 , 12 , 11 };
709
703
llvm::MapVector<CallStackId, llvm::SmallVector<FrameId>> MemProfCallStackData;
710
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS1), CS1});
711
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS2), CS2});
712
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS3), CS3});
713
- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS4), CS4});
704
+ MemProfCallStackData.insert ({hashCallStack (CS1), CS1});
705
+ MemProfCallStackData.insert ({hashCallStack (CS2), CS2});
706
+ MemProfCallStackData.insert ({hashCallStack (CS3), CS3});
707
+ MemProfCallStackData.insert ({hashCallStack (CS4), CS4});
714
708
llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
715
709
FrameHistogram =
716
710
llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
717
711
llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
718
712
Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
719
713
FrameHistogram);
720
714
EXPECT_THAT (Builder.getRadixArray (),
721
- testing::ElementsAreArray ({
722
- 4U , // Size of CS1
723
- 4U , // MemProfFrameIndexes[14]
724
- static_cast <uint32_t >(-3 ), // Jump 3 steps
725
- 4U , // Size of CS2
726
- 5U , // MemProfFrameIndexes[15]
727
- 3U , // MemProfFrameIndexes[13]
728
- static_cast <uint32_t >(-7 ), // Jump 7 steps
729
- 4U , // Size of CS3
730
- 7U , // MemProfFrameIndexes[17]
731
- static_cast <uint32_t >(-3 ), // Jump 3 steps
732
- 4U , // Size of CS4
733
- 8U , // MemProfFrameIndexes[18]
734
- 6U , // MemProfFrameIndexes[16]
735
- 2U , // MemProfFrameIndexes[12]
736
- 1U // MemProfFrameIndexes[11]
737
- }));
715
+ ElementsAre (4U , // Size of CS1
716
+ 4U , // MemProfFrameIndexes[14]
717
+ static_cast <uint32_t >(-3 ), // Jump 3 steps
718
+ 4U , // Size of CS2
719
+ 5U , // MemProfFrameIndexes[15]
720
+ 3U , // MemProfFrameIndexes[13]
721
+ static_cast <uint32_t >(-7 ), // Jump 7 steps
722
+ 4U , // Size of CS3
723
+ 7U , // MemProfFrameIndexes[17]
724
+ static_cast <uint32_t >(-3 ), // Jump 3 steps
725
+ 4U , // Size of CS4
726
+ 8U , // MemProfFrameIndexes[18]
727
+ 6U , // MemProfFrameIndexes[16]
728
+ 2U , // MemProfFrameIndexes[12]
729
+ 1U // MemProfFrameIndexes[11]
730
+ ));
738
731
const auto Mappings = Builder.takeCallStackPos ();
739
- ASSERT_THAT (Mappings, SizeIs (4 ));
740
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
741
- llvm::memprof::hashCallStack (CS1), 0U )));
742
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
743
- llvm::memprof::hashCallStack (CS2), 3U )));
744
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
745
- llvm::memprof::hashCallStack (CS3), 7U )));
746
- EXPECT_THAT (Mappings, testing::Contains (testing::Pair (
747
- llvm::memprof::hashCallStack (CS4), 10U )));
732
+ EXPECT_THAT (Mappings, UnorderedElementsAre (Pair (hashCallStack (CS1), 0U ),
733
+ Pair (hashCallStack (CS2), 3U ),
734
+ Pair (hashCallStack (CS3), 7U ),
735
+ Pair (hashCallStack (CS4), 10U )));
748
736
}
749
737
750
738
// Verify that we can parse YAML and retrieve IndexedMemProfData as expected.
0 commit comments