summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2017-10-16 23:47:10 +0000
committerVedant Kumar <vsk@apple.com>2017-10-16 23:47:10 +0000
commit58548c30daf80c77a07b78954054246d4072dc07 (patch)
treeebc8d46f65fd9566fae9a2139d0f4697a98e5120 /llvm/test
parent1fada3b90ac49a40685ba039552c167f33e251cb (diff)
downloadbcm5719-llvm-58548c30daf80c77a07b78954054246d4072dc07.tar.gz
bcm5719-llvm-58548c30daf80c77a07b78954054246d4072dc07.zip
[llvm-cov] Remove workaround in line execution count calculation (PR34962)
Gap areas make it possible to correctly determine when to use counts from deferred regions. Before gap areas were introduced, llvm-cov needed to use a heuristic to do this: it ignored counts from segments that start, but do not end, on a line. This heuristic breaks down on a simple example (see PR34962). This patch removes the heuristic and picks counts from any region entry segment which isn't a gap area. llvm-svn: 315960
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/deferred-regions.covmappingbin728 -> 796 bytes
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/deferred-regions.profdatabin1208 -> 1288 bytes
-rw-r--r--llvm/test/tools/llvm-cov/deferred-region.cpp12
3 files changed, 12 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-cov/Inputs/deferred-regions.covmapping b/llvm/test/tools/llvm-cov/Inputs/deferred-regions.covmapping
index 4434b66513c..d16db88acbe 100644
--- a/llvm/test/tools/llvm-cov/Inputs/deferred-regions.covmapping
+++ b/llvm/test/tools/llvm-cov/Inputs/deferred-regions.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/deferred-regions.profdata b/llvm/test/tools/llvm-cov/Inputs/deferred-regions.profdata
index 0bacac01ccf..423f1f07cb8 100644
--- a/llvm/test/tools/llvm-cov/Inputs/deferred-regions.profdata
+++ b/llvm/test/tools/llvm-cov/Inputs/deferred-regions.profdata
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/deferred-region.cpp b/llvm/test/tools/llvm-cov/deferred-region.cpp
index 6f6da7ec804..37a6ae4825c 100644
--- a/llvm/test/tools/llvm-cov/deferred-region.cpp
+++ b/llvm/test/tools/llvm-cov/deferred-region.cpp
@@ -68,6 +68,14 @@ out: // CHECK: [[@LINE]]|{{ +}}0|
return;
}
+void if_else(bool flag) {
+ if (flag) { // CHECK: [[@LINE]]|{{ +}}2|
+ return; // CHECK: [[@LINE]]|{{ +}}1|
+ } else { // CHECK: [[@LINE]]|{{ +}}2|
+ return; // CHECK: [[@LINE]]|{{ +}}1|
+ } // CHECK: [[@LINE]]|{{ +}}1|
+}
+
int main() {
foo(0);
foo(1);
@@ -75,6 +83,8 @@ int main() {
for_loop();
while_loop();
gotos();
+ if_else(true);
+ if_else(false);
return 0;
}
@@ -107,3 +117,5 @@ int main() {
// MARKER-NEXT: Highlighted line 67, 1 -> ?
// MARKER-NEXT: Highlighted line 68, 1 -> 8
// MARKER-NEXT: Highlighted line 69, 1 -> 2
+// MARKER-NEXT: Marker at 72:7 = 2
+// MARKER-NEXT: Highlighted line 77, 1 -> 2
OpenPOWER on IntegriCloud