aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
diff options
context:
space:
mode:
authorYuchen Wu <yuchenericwu@hotmail.com>2013-10-24 01:51:04 +0000
committerYuchen Wu <yuchenericwu@hotmail.com>2013-10-24 01:51:04 +0000
commitcbbd20879e8acf35d3326a2459e17a298b5f5d15 (patch)
tree81fd09c165f8dfa30e0eb61c2dec5fec08328bfc /lib/Transforms
parent577ac566c45670cd8ef03e202cb92258c643574d (diff)
downloadexternal_llvm-cbbd20879e8acf35d3326a2459e17a298b5f5d15.zip
external_llvm-cbbd20879e8acf35d3326a2459e17a298b5f5d15.tar.gz
external_llvm-cbbd20879e8acf35d3326a2459e17a298b5f5d15.tar.bz2
Fixed llvm-cov to count edges instead of blocks.
This was a fundamental flaw in llvm-cov where it treated the values in the GCDA files as block counts instead of edge counts. This created incorrect line counts when branching was present. Instead, the edge counts should be summed to obtain the correct block count. The fix was tested using custom test files as well as single source files from the test-suite directory. The behaviour can be verified by reading the GCOV documentation that describes the GCDA spec ("ARC_COUNTS gives the counter values for those arcs that are instrumented") and the header description provided by GCOVProfiling.cpp ("instruments the code that runs to records (sic) the edges between blocks that run and emit a complementary "gcda" file on exit"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
0 files changed, 0 insertions, 0 deletions