History log of /external/llvm/include/llvm/Support/GCOV.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/Support/GCOV.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Support/GCOV.h
4bd0224887a8de1434186cad2f618c18dea06c0b 14-Nov-2013 Yuchen Wu <yuchenericwu@hotmail.com> llvm-cov: Slightly improved error checking.

- readInt() should check all 4 bytes can be read, not just 1.
- In the event of false data in the gcno file, it was possible to index
into a non-existent index of SmallVector, causing assertion error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
131a764e0e7abc90b322fd568e042d3c5a0633af 14-Nov-2013 Yuchen Wu <yuchenericwu@hotmail.com> llvm-cov: Removed StringMap holding GCOVLines.

According to the hazy gcov documentation, it appeared to be technically
possible for lines within a block to belong to different source files.
However, upon further investigation, gcov does not actually support
multiple source files for a single block.

This change removes a level of separation between blocks and lines by
replacing the StringMap of GCOVLines with a SmallVector of ints
representing line numbers. This also means that the GCOVLines class is
no longer needed.

This paves the way for supporting the "-a" option, which will output
block information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
dbb51ff01fd08df39e5040c1cd9edacdc3e4308a 14-Nov-2013 Yuchen Wu <yuchenericwu@hotmail.com> llvm-cov: Replaced asserts with proper error handling.

Unified the interface for read functions. They all return a boolean
indicating if the read from file succeeded. Functions that previously
returned the read value now store it into a variable that is passed in
by reference instead. Callers will need to check the return value to
detect if an error occurred.

Also added a new test which ensures that no assertions occur when file
contains invalid data. llvm-cov should return with error code 1 upon
failure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
e85959cb2cb6f82959b3cf1a9ef59c6d793a2556 05-Nov-2013 Yuchen Wu <yuchenericwu@hotmail.com> Support for reading run counts in llvm-cov.

This patch enables llvm-cov to correctly output the run count stored in
the GCDA file. GCOVProfiling currently does not generate this
information, so the GCDA run data had to be hacked on from a GCDA file
generated by gcc. This is corrected by a subsequent patch.

With the run and program data included, both llvm-cov and gcov produced
the same output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
daaa8b720b026c83bf6d4307042057665348b222 02-Nov-2013 Yuchen Wu <yuchenericwu@hotmail.com> Added command-line option to output llvm-cov to file.

Added -o option to llvm-cov. If no output file is specified, it defaults
to STDOUT.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
76fa4d629b22903632529e2cb19c86105a0d1247 25-Oct-2013 Yuchen Wu <yuchenericwu@hotmail.com> Support for reading program counts in llvm-cov.

llvm-cov will now be able to read program counts from the GCDA file and
output it in the same format as gcov. The program summary tag was
identified from gcov-io.h as "\0\0\0\a3".

There is currently a bug in GCOVProfiling.cpp which does not generate
the
run- or program-counting IR, so this change was tested manually by
modifying the GCDA file and comparing the gcov and llvm-cov outputs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
cbbd20879e8acf35d3326a2459e17a298b5f5d15 24-Oct-2013 Yuchen Wu <yuchenericwu@hotmail.com> 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
/external/llvm/include/llvm/Support/GCOV.h
9db9663d1d2e4e336c2787bacff4ee7125622e21 23-Oct-2013 Yuchen Wu <yuchenericwu@hotmail.com> Use a map instead of vector to store line counts.

There are a few motivations for this:
- Using a map allows for checking if line is in map. This differentiates
unexecutable lines (such as comments) from unexecuted logical lines of
code. "#####" is now outputted in this case, in line with gcov.
- Source files are no longer read in twice: once when storing the line
counts, and once when outputting the data.
- Greatly simplifies the function FileInfo::addLineCount().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
51ec77d880ce53cbc8a48168185edc085df9b6d9 22-Oct-2013 Bob Wilson <bob.wilson@apple.com> Fix llvm-cov counts to be 64-bit integers to avoid overflows.

Line counts in llvm-cov are read in as 64-bit integers but were being truncated
to 32-bit in collectLineCounts(), which caused overflow for large counts.
This patch fixes all counts to be uint64_t.

Patch by Yuchen Wu!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
e877eebfe9d716ed1101aecf958af473836e70e1 22-Oct-2013 Bob Wilson <bob.wilson@apple.com> Change llvm-cov output formatting to be more similar to gcov.

- Replaced tabs with proper padding
- print() takes two arguments, which are the GCNO and GCDA filenames
- Files are listed at the top of output, appended by line 0
- Stripped strings of trailing \0s
- Removed last two lines of whitespace in output

Patch by Yuchen Wu!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
674be02d525d4e24bc6943ed9274958c580bcfbc 10-Jan-2013 Jakub Staszak <kubastaszak@gmail.com> Fix include guards so they exactly match file names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
59324297650c12a8dccf1a7ad650a9e895fdc17e 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Stop casting away const qualifier needlessly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
e4fb6eae9997e80bfedb251ca3251cbed884d4ff 31-Aug-2012 Bill Wendling <isanbard@gmail.com> Move the GCOVFormat enums into their own namespace per the LLVM coding standard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
17689b13be2f3f6e56c3a9dc3bc6193b7c732abc 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h
58c620024ad00eae80a766e8e2b3b1d9414dc4cf 04-Oct-2011 Devang Patel <dpatel@apple.com> Put GCOVFile and other related interface in a common header so that llvm-cov tool can share it with GCOV writer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Support/GCOV.h