@@ -434,7 +434,7 @@ TEST(MemProf, BaseMemProfReader) {
434434 MemProfData.Frames .insert ({F2.hash (), F2});
435435
436436 llvm::SmallVector<FrameId> CallStack{F1.hash (), F2.hash ()};
437- CallStackId CSId = llvm::memprof:: hashCallStack (CallStack);
437+ CallStackId CSId = hashCallStack (CallStack);
438438 MemProfData.CallStacks .try_emplace (CSId, CallStack);
439439
440440 IndexedMemProfRecord FakeRecord;
@@ -470,15 +470,15 @@ TEST(MemProf, BaseMemProfReaderWithCSIdMap) {
470470 MemProfData.Frames .insert ({F2.hash (), F2});
471471
472472 llvm::SmallVector<FrameId> CallStack = {F1.hash (), F2.hash ()};
473- CallStackId CSId = llvm::memprof:: hashCallStack (CallStack);
473+ CallStackId CSId = hashCallStack (CallStack);
474474 MemProfData.CallStacks .insert ({CSId, CallStack});
475475
476476 IndexedMemProfRecord FakeRecord;
477477 MemInfoBlock Block;
478478 Block.AllocCount = 1U , Block.TotalAccessDensity = 4 ,
479479 Block.TotalLifetime = 200001 ;
480480 FakeRecord.AllocSites .emplace_back (
481- /* CSId=*/ llvm::memprof:: hashCallStack (CallStack),
481+ /* CSId=*/ hashCallStack (CallStack),
482482 /* MB=*/ Block);
483483 MemProfData.Records .insert ({F1.hash (), FakeRecord});
484484
@@ -517,19 +517,19 @@ TEST(MemProf, IndexedMemProfRecordToMemProfRecord) {
517517 llvm::SmallVector<FrameId> CS2 = {F1.hash (), F3.hash ()};
518518 llvm::SmallVector<FrameId> CS3 = {F2.hash (), F3.hash ()};
519519 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});
524524
525525 IndexedMemProfRecord IndexedRecord;
526526 IndexedAllocationInfo AI;
527- AI.CSId = llvm::memprof:: hashCallStack (CS1);
527+ AI.CSId = hashCallStack (CS1);
528528 IndexedRecord.AllocSites .push_back (AI);
529- AI.CSId = llvm::memprof:: hashCallStack (CS2);
529+ AI.CSId = hashCallStack (CS2);
530530 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));
533533
534534 llvm::memprof::FrameIdConverter<decltype (FrameIdMap)> FrameIdConv (FrameIdMap);
535535 llvm::memprof::CallStackIdConverter<decltype (CallStackIdMap)> CSIdConv (
@@ -645,23 +645,21 @@ TEST(MemProf, RadixTreeBuilderOne) {
645645 {11 , 1 }, {12 , 2 }, {13 , 3 }};
646646 llvm::SmallVector<llvm::memprof::FrameId> CS1 = {13 , 12 , 11 };
647647 llvm::MapVector<CallStackId, llvm::SmallVector<FrameId>> MemProfCallStackData;
648- MemProfCallStackData.insert ({llvm::memprof:: hashCallStack (CS1), CS1});
648+ MemProfCallStackData.insert ({hashCallStack (CS1), CS1});
649649 llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
650650 FrameHistogram =
651651 llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
652652 llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
653653 Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
654654 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+ ));
661661 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 )));
665663}
666664
667665// Verify CallStackRadixTreeBuilder can form a link between two call stacks.
@@ -671,29 +669,25 @@ TEST(MemProf, RadixTreeBuilderTwo) {
671669 llvm::SmallVector<llvm::memprof::FrameId> CS1 = {12 , 11 };
672670 llvm::SmallVector<llvm::memprof::FrameId> CS2 = {13 , 12 , 11 };
673671 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});
676674 llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
677675 FrameHistogram =
678676 llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
679677 llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
680678 Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
681679 FrameHistogram);
682680 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+ ));
691688 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 )));
697691}
698692
699693// Verify CallStackRadixTreeBuilder can form a jump to a prefix that itself has
@@ -707,44 +701,38 @@ TEST(MemProf, RadixTreeBuilderSuccessiveJumps) {
707701 llvm::SmallVector<llvm::memprof::FrameId> CS3 = {17 , 16 , 12 , 11 };
708702 llvm::SmallVector<llvm::memprof::FrameId> CS4 = {18 , 16 , 12 , 11 };
709703 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});
714708 llvm::DenseMap<llvm::memprof::FrameId, llvm::memprof::FrameStat>
715709 FrameHistogram =
716710 llvm::memprof::computeFrameHistogram<FrameId>(MemProfCallStackData);
717711 llvm::memprof::CallStackRadixTreeBuilder<FrameId> Builder;
718712 Builder.build (std::move (MemProfCallStackData), &MemProfFrameIndexes,
719713 FrameHistogram);
720714 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+ ));
738731 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 )));
748736}
749737
750738// Verify that we can parse YAML and retrieve IndexedMemProfData as expected.
0 commit comments