[llvm-branch-commits] [llvm] 1b84796 - Revert "[Coverage] Ignore unused functions if the count is 0. (#107661)"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Sep 9 11:33:29 PDT 2024
Author: Zequan Wu
Date: 2024-09-09T14:33:27-04:00
New Revision: 1b8479684c74caa82e0b5192a780b75f1000a9c2
URL: https://github.com/llvm/llvm-project/commit/1b8479684c74caa82e0b5192a780b75f1000a9c2
DIFF: https://github.com/llvm/llvm-project/commit/1b8479684c74caa82e0b5192a780b75f1000a9c2.diff
LOG: Revert "[Coverage] Ignore unused functions if the count is 0. (#107661)"
This reverts commit 6850410562123b6e4fbb039e7ba4a2325b994b84.
Added:
Modified:
llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Removed:
compiler-rt/test/profile/instrprof-merging-2.cpp
################################################################################
diff --git a/compiler-rt/test/profile/instrprof-merging-2.cpp b/compiler-rt/test/profile/instrprof-merging-2.cpp
deleted file mode 100644
index 438394f9fb239e..00000000000000
--- a/compiler-rt/test/profile/instrprof-merging-2.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-// UNSUPPORTED: target={{.*windows.*}}
-
-// clang-format off
-// RUN: split-file %s %t
-// RUN: %clangxx_profgen -fcoverage-mapping %t/test1.cpp -o %t/test1.exe
-// RUN: %clangxx_profgen -fcoverage-mapping %t/test2.cpp -o %t/test2.exe
-// RUN: env LLVM_PROFILE_FILE=%t/test1.profraw %run %t/test1.exe
-// RUN: env LLVM_PROFILE_FILE=%t/test2.profraw %run %t/test2.exe
-// RUN: llvm-profdata merge %t/test1.profraw %t/test2.profraw -o %t/merged.profdata
-// RUN: llvm-cov show -instr-profile=%t/merged.profdata -object %t/test1.exe %t/test2.exe | FileCheck %s
-// RUN: llvm-cov show -instr-profile=%t/merged.profdata -object %t/test2.exe %t/test1.exe | FileCheck %s
-
-// CHECK: |struct Test {
-// CHECK-NEXT: 1| int getToTest() {
-// CHECK-NEXT: 2| for (int i = 0; i < 1; i++) {
-// CHECK-NEXT: 1| if (false) {
-// CHECK-NEXT: 0| return 1;
-// CHECK-NEXT: 0| }
-// CHECK-NEXT: 1| }
-// CHECK-NEXT: 1| if (true) {
-// CHECK-NEXT: 1| return 1;
-// CHECK-NEXT: 1| }
-// CHECK-NEXT: 0| return 1;
-// CHECK-NEXT: 1| }
-// CHECK-NEXT: |};
-// CHECK-NEXT: |
-
-#--- test.h
-struct Test {
- int getToTest() {
- for (int i = 0; i < 1; i++) {
- if (false) {
- return 1;
- }
- }
- if (true) {
- return 1;
- }
- return 1;
- }
-};
-
-#--- test1.cpp
-#include "test.h"
-int main() {
- Test t;
- t.getToTest();
- return 0;
-}
-
-#--- test2.cpp
-#include "test.h"
-int main() {
- return 0;
-}
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
index acb7dd922ab9fa..18643c6b44485e 100644
--- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
@@ -851,7 +851,7 @@ Error CoverageMapping::loadFunctionRecord(
// won't (in which case we don't unintuitively report functions as uncovered
// when they have non-zero counts in the profile).
if (Record.MappingRegions.size() == 1 &&
- Record.MappingRegions[0].Count.isZero())
+ Record.MappingRegions[0].Count.isZero() && Counts[0] > 0)
return Error::success();
MCDCDecisionRecorder MCDCDecisions;
More information about the llvm-branch-commits
mailing list