[llvm-branch-commits] [clang] [llvm] [Coverage] Improve performance of propagating Counter of Expansions (PR #122589)

NAKAMURA Takumi via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 2 04:40:45 PDT 2025


================
@@ -707,13 +707,16 @@ TEST_P(CoverageMappingTest, expansion_gets_first_counter) {
   addCMR(Counter::getCounter(2), "foo", 1, 1, 20, 1);
   addExpansionCMR("bar", "foo", 3, 3, 3, 3);
 
-  writeAndReadCoverageRegions();
-  ASSERT_EQ(1u, OutputFunctions.size());
-  OutputFunctionCoverageData &Output = OutputFunctions.back();
+  ProfileWriter.addRecord({"func", 0x1234, {1, 2, 4}}, Err);
+  EXPECT_THAT_ERROR(loadCoverageMapping(), Succeeded());
+
+  auto FunctionRecords = LoadedCoverage->getCoveredFunctions();
+  ASSERT_EQ(1u, std::distance(FunctionRecords.begin(), FunctionRecords.end()));
 
-  ASSERT_EQ(CounterMappingRegion::ExpansionRegion, Output.Regions[2].Kind);
-  ASSERT_EQ(Counter::getCounter(2), Output.Regions[2].Count);
-  ASSERT_EQ(3U, Output.Regions[2].LineStart);
+  const auto &CR = (*FunctionRecords.begin()).CountedRegions;
+  ASSERT_EQ(CounterMappingRegion::ExpansionRegion, CR[2].Kind);
+  ASSERT_EQ(4u, CR[2].ExecutionCount);
+  ASSERT_EQ(3U, CR[2].LineStart);
----------------
chapuni wrote:

This should work w/o this change. May I split out or migrate this in advance?

https://github.com/llvm/llvm-project/pull/122589


More information about the llvm-branch-commits mailing list