llvm-project/llvm/test/tools/llvm-cov
Calixte Denizet 0b1fe47e22 [gcov] Fix wrong line hit counts when multiple blocks are on the same line
Summary:
The goal of this patch is to have the same behaviour than gcc-gcov.
Currently the hit counts for a line is the sum of the counts for each block on that line.
The idea is to detect the cycles in the graph of blocks in using the algorithm by Hawick & James.
The count for a cycle is the min of the counts for each edge in the cycle.
Once we've the count for each cycle, we can sum them and add the transition counts of those cycles.

Fix both https://bugs.llvm.org/show_bug.cgi?id=38065 and https://bugs.llvm.org/show_bug.cgi?id=38066

Reviewers: marco-c, davidxl

Reviewed By: marco-c

Subscribers: vsk, lebedev.ri, sylvestre.ledru, dblaikie, llvm-commits

Differential Revision: https://reviews.llvm.org/D49659

llvm-svn: 342657
2018-09-20 16:09:30 +00:00
..
Inputs [gcov] Fix wrong line hit counts when multiple blocks are on the same line 2018-09-20 16:09:30 +00:00
binary-formats.c [llvm-cov] Delete custom JSON serialization code (NFC) 2018-09-12 21:59:38 +00:00
combine_expansions.cpp
copy_block_helper.m Profiling tests: Endianess XFAIL for powerpc- (32-bit) 2018-01-09 20:09:23 +00:00
cov-comdat.test
deferred-region.cpp
demangle.test
dir-with-filtering.test
double_dots.c
gcov47_compatibility.cpp Profiling tests: Endianess XFAIL for powerpc- (32-bit) 2018-01-09 20:09:23 +00:00
hideUnexecutedSubviews.test [llvm-cov] Improvements for summary report generated in HTML format. 2018-01-31 17:37:21 +00:00
ifdef.c
ignore-filename-regex.test [llvm-cov] Implement -ignore-filename-regex= option for excluding source files. 2018-04-09 15:20:35 +00:00
lit.local.cfg
llvm-cov.test Profiling tests: Endianess XFAIL for powerpc- (32-bit) 2018-01-09 20:09:23 +00:00
load-multiple-objects.test
multiple-files.test
multiple-objects.test [Coverage] Take filenames into account when loading function records. 2018-05-08 19:26:51 +00:00
multithreaded-report.test [lit] Implement "-r" option for builtin "diff" command + a test using that. 2018-01-09 18:23:34 +00:00
name_whitelist.test
native_separators.c
path_equivalence.c
prefer_used_to_unused.h
prevent_false_instantiations.h
range_based_for.cpp [gcov] Fix wrong line hit counts when multiple blocks are on the same line 2018-09-20 16:09:30 +00:00
report.cpp
scan-directory.test
showExpansions.cpp
showHighlightedRanges.cpp [llvm-cov] Delete custom JSON serialization code (NFC) 2018-09-12 21:59:38 +00:00
showLineExecutionCounts.cpp [llvm-cov] Delete custom JSON serialization code (NFC) 2018-09-12 21:59:38 +00:00
showProjectSummary.cpp
showRegionMarkers.cpp [llvm-cov] Delete custom JSON serialization code (NFC) 2018-09-12 21:59:38 +00:00
showTabsHTML.cpp [llvm-cov] Use the new PrintHTMLEscaped utility 2018-05-30 23:35:14 +00:00
showTemplateInstantiations.cpp
sources-specified.test [llvm-cov] Change test to use FileCheck instead of grep. 2018-01-05 20:00:18 +00:00
style.test [llvm-cov] Improvements for summary report generated in HTML format. 2018-01-31 17:37:21 +00:00
threads.c
universal-binary.c [llvm-cov] Delete custom JSON serialization code (NFC) 2018-09-12 21:59:38 +00:00
warnings.h
zeroFunctionFile.c