Disable ccache for go tests.
[oota-llvm.git] / tools / llvm-cov / CoverageSummaryInfo.cpp
index 765bb3ef84f622d04e0159de118af9f574002df4..dd78ace86050c6cfb0b0262c18bc7506af5f59cc 100644 (file)
@@ -18,14 +18,14 @@ using namespace llvm;
 using namespace coverage;
 
 FunctionCoverageSummary
-FunctionCoverageSummary::get(const FunctionCoverageMapping &Function) {
+FunctionCoverageSummary::get(const coverage::FunctionRecord &Function) {
   // Compute the region coverage
   size_t NumCodeRegions = 0, CoveredRegions = 0;
-  for (auto &Region : Function.MappingRegions) {
-    if (Region.Kind != CounterMappingRegion::CodeRegion)
+  for (auto &CR : Function.CountedRegions) {
+    if (CR.Kind != CounterMappingRegion::CodeRegion)
       continue;
     ++NumCodeRegions;
-    if (Region.ExecutionCount != 0)
+    if (CR.ExecutionCount != 0)
       ++CoveredRegions;
   }
 
@@ -37,27 +37,27 @@ FunctionCoverageSummary::get(const FunctionCoverageMapping &Function) {
     // in that particular file
     unsigned LineStart = std::numeric_limits<unsigned>::max();
     unsigned LineEnd = 0;
-    for (auto &Region : Function.MappingRegions) {
-      if (Region.FileID != FileID)
+    for (auto &CR : Function.CountedRegions) {
+      if (CR.FileID != FileID)
         continue;
-      LineStart = std::min(LineStart, Region.LineStart);
-      LineEnd = std::max(LineEnd, Region.LineEnd);
+      LineStart = std::min(LineStart, CR.LineStart);
+      LineEnd = std::max(LineEnd, CR.LineEnd);
     }
     unsigned LineCount = LineEnd - LineStart + 1;
 
     // Get counters
     llvm::SmallVector<uint64_t, 16> ExecutionCounts;
     ExecutionCounts.resize(LineCount, 0);
-    for (auto &Region : Function.MappingRegions) {
-      if (Region.FileID != FileID)
+    for (auto &CR : Function.CountedRegions) {
+      if (CR.FileID != FileID)
         continue;
       // Ignore the lines that were skipped by the preprocessor.
-      auto ExecutionCount = Region.ExecutionCount;
-      if (Region.Kind == MappingRegion::SkippedRegion) {
-        LineCount -= Region.LineEnd - Region.LineStart + 1;
+      auto ExecutionCount = CR.ExecutionCount;
+      if (CR.Kind == CounterMappingRegion::SkippedRegion) {
+        LineCount -= CR.LineEnd - CR.LineStart + 1;
         ExecutionCount = 1;
       }
-      for (unsigned I = Region.LineStart; I <= Region.LineEnd; ++I)
+      for (unsigned I = CR.LineStart; I <= CR.LineEnd; ++I)
         ExecutionCounts[I - LineStart] = ExecutionCount;
     }
     CoveredLines += LineCount - std::count(ExecutionCounts.begin(),
@@ -65,7 +65,8 @@ FunctionCoverageSummary::get(const FunctionCoverageMapping &Function) {
     NumLines += LineCount;
   }
   return FunctionCoverageSummary(
-      Function.PrettyName, RegionCoverageInfo(CoveredRegions, NumCodeRegions),
+      Function.Name, Function.ExecutionCount,
+      RegionCoverageInfo(CoveredRegions, NumCodeRegions),
       LineCoverageInfo(CoveredLines, 0, NumLines));
 }
 
@@ -74,7 +75,7 @@ FileCoverageSummary::get(StringRef Name,
                          ArrayRef<FunctionCoverageSummary> FunctionSummaries) {
   size_t NumRegions = 0, CoveredRegions = 0;
   size_t NumLines = 0, NonCodeLines = 0, CoveredLines = 0;
-  size_t NumFunctionsCovered = 0;
+  size_t NumFunctionsExecuted = 0;
   for (const auto &Func : FunctionSummaries) {
     CoveredRegions += Func.RegionCoverage.Covered;
     NumRegions += Func.RegionCoverage.NumRegions;
@@ -83,13 +84,13 @@ FileCoverageSummary::get(StringRef Name,
     NonCodeLines += Func.LineCoverage.NonCodeLines;
     NumLines += Func.LineCoverage.NumLines;
 
-    if (Func.RegionCoverage.isFullyCovered())
-      ++NumFunctionsCovered;
+    if (Func.ExecutionCount != 0)
+      ++NumFunctionsExecuted;
   }
 
   return FileCoverageSummary(
       Name, RegionCoverageInfo(CoveredRegions, NumRegions),
       LineCoverageInfo(CoveredLines, NonCodeLines, NumLines),
-      FunctionCoverageInfo(NumFunctionsCovered, FunctionSummaries.size()),
+      FunctionCoverageInfo(NumFunctionsExecuted, FunctionSummaries.size()),
       FunctionSummaries);
 }