summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-cov/Inputs
Commit message (Collapse)AuthorAgeFilesLines
* llvm-cov: Handle missing source files as GCOV doesJustin Bogner2014-05-073-0/+91
| | | | | | | | | | | If the source files referenced by a gcno file are missing, gcov outputs a coverage file where every line is simply /*EOF*/. This also occurs for lines in the coverage that are past the end of a file that is found. This change mimics gcov. llvm-svn: 208149
* llvm-cov: Implement --no-outputJustin Bogner2014-05-071-0/+6
| | | | | | | | In gcov, there's a -n/--no-output option, which disables the writing of any .gcov files, so that it emits only the summary info on stdout. This implements the same behaviour in llvm-cov. llvm-svn: 208148
* llvm-cov: Fix handling of line zero appearing in a line tableJustin Bogner2014-05-022-0/+0
| | | | | | | | | | | | | Reading line tables in llvm-cov was pretty broken, but would happen to work as long as no line in the table was 0. It's not clear to me whether a line of zero *should* show up in these tables, but deciding to read a string in the middle of the line table is certainly the wrong thing to do if it does. I've also added some comments, as trying to figure out what this block of code was doing was fairly unpleasant. llvm-svn: 207866
* llvm-cov: Add support for gcov's --long-file-names optionJustin Bogner2014-04-232-0/+16
| | | | | | | | GCOV provides an option to prepend output file names with the source file name, to disambiguate between covered data that's included from multiple sources. Add a flag to llvm-cov that does the same. llvm-svn: 207035
* llvm-cov: Handle functions with no line numberJustin Bogner2014-03-262-0/+0
| | | | | | | | | Functions may in an instrumented binary but not in the original source when they're inserted by the compiler or the runtime. These functions aren't meaningful to the user, so teach llvm-cov to skip over them instead of crashing. llvm-svn: 204863
* llvm-cov: Implement the preserve-paths flagJustin Bogner2014-02-0410-4/+107
| | | | | | | | | | | | | | | | Until now, when a path in a gcno file included a directory, we would emit our .gcov file in that directory, whereas gcov always emits the file in the current directory. In doing so, this implements gcov's strange name-mangling -p flag, which is needed to avoid clobbering files when two with the same name exist in different directories. The path mangling is a bit ugly and only handles unix-like paths, but it's simple, and it doesn't make any guesses as to how it should behave outside of what gcov documents. If we decide this should be cross platform later, we can consider the compatibility implications then. llvm-svn: 200754
* llvm-cov: Implement the object-directory flagJustin Bogner2014-02-042-0/+87
| | | | llvm-svn: 200741
* llvm-cov: Ignore missing .gcda filesJustin Bogner2014-02-043-0/+95
| | | | | | | | When gcov is run without gcda data, it acts as if the counts are all zero and labels the file as - to indicate that there was no data. We should do the same. llvm-svn: 200740
* llvm-cov: Added -f option for function summaries.Yuchen Wu2013-12-192-0/+103
| | | | | | | | | | | Similar to the file summaries, the function summaries output line, branching and call statistics. The file summaries have been moved outside the initial loop so that all of the function summaries can be outputted before file summaries. Also updated test cases. llvm-svn: 197633
* llvm-cov: Print coverage summary to STDOUT.Yuchen Wu2013-12-182-0/+21
| | | | | | | | | | | | File summaries will now be optionally outputted which will give line, branching and call coverage info. Unfortunately, clang's current instrumentation does not give enough information to deduce function calls, something that gcc is able to do. Thus, no calls are always outputted to be consistent with gcov output. Also updated tests. llvm-svn: 197606
* llvm-cov: Added -c option for branch counts.Yuchen Wu2013-12-182-0/+174
| | | | | | | | | This will cause llvm-cov to output branch counts instead of branch probabilities. -b must be enabled. Also updated tests. llvm-svn: 197594
* llvm-cov: Added -u option for unconditional branch info.Yuchen Wu2013-12-162-0/+174
| | | | | | | | | Outputs branch information for unconditional branches in addition to conditional branches. -b option must be enabled. Also updated tests. llvm-svn: 197432
* llvm-cov: Added -b option for branch probabilities.Yuchen Wu2013-12-132-0/+146
| | | | | | | | | | | This option tells llvm-cov to print out branch probabilities when a basic block contains multiple branches. It also prints out some function summary info including the number of times the function enters, the percent of time it returns, and how many blocks were executed. Also updated tests. llvm-svn: 197198
* llvm-cov: Added -a option for block data.Yuchen Wu2013-12-104-0/+121
| | | | | | | | | | | | | | | Similar to gcov, llvm-cov will now print out the block count at the end of each block. Multiple blocks can end on the same line. One computational difference is by using -a, llvm-cov will no longer simply add the block counts together to form a line count. Instead, it will take the maximum of the block counts on that line. This has a similar effect to what gcov does, but generates more correct counts in certain scenarios. Also updated tests. llvm-svn: 196856
* llvm-cov: Added test.h header to tests.Yuchen Wu2013-12-076-80/+85
| | | | llvm-svn: 196632
* llvm-cov: Regenerated gcov files with r195513 changes.Yuchen Wu2013-12-062-0/+0
| | | | llvm-svn: 196609
* llvm-cov: Changed extension from .llcov to .gcov.Yuchen Wu2013-12-051-0/+0
| | | | llvm-svn: 196530
* Un-revert r196358: "llvm-cov: Added support for function checksums."Daniel Jasper2013-12-046-0/+0
| | | | | | And add the proper fix. llvm-svn: 196367
* Revert r196358: "llvm-cov: Added support for function checksums."Daniel Jasper2013-12-046-0/+0
| | | | | | | This currently breaks clang/test/CodeGen/code-coverage.c. The root cause is that the newly introduced access to Funcs[j] is out of bounds. llvm-svn: 196365
* llvm-cov: Added support for function checksums.Yuchen Wu2013-12-046-0/+0
| | | | | | | The function checksums are hashed from the concatenation of the function name and line number. llvm-svn: 196358
* llvm-cov: Added file checksum to gcno and gcda files.Yuchen Wu2013-11-204-0/+0
| | | | | | | | | | | | Instead of permanently outputting "MVLL" as the file checksum, clang will create gcno and gcda checksums by hashing the destination block numbers of every arc. This allows for llvm-cov to check if the two gcov files are synchronized. Regenerated the test files so they contain the checksum. Also added negative test to ensure error when the checksums don't match. llvm-svn: 195191
* llvm-cov: Removed StringMap holding GCOVLines.Yuchen Wu2013-11-141-0/+0
| | | | | | | | | | | | | | | | | 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. llvm-svn: 194637
* Added basic unit test for llvm-cov.Yuchen Wu2013-11-135-0/+166
| | | | | | | | | | This test compares the output of llvm-cov against a coverage file generated by gcov. Currently, llvm-cov does not work on certain platforms (namely big-endian architectures such as PowerPC, among others). These platforms are marked as XFAIL for now, but will be fixed later. llvm-svn: 194616
* Revert "Added basic unit test for llvm-cov."Yuchen Wu2013-11-125-166/+0
| | | | | | | | | | | This reverts commit r194451. Not sure why the tests are failing on the buildbot. They run fine on my local machine. Could it possibly be because of the endianness of the architectures? The GCNO and GCDA files are little-endian encoded, and llvm-cov expects it to remain that way. Is this a safe assumption? llvm-svn: 194454
* llvm-cov: Added call to update run/program counts.Yuchen Wu2013-11-122-0/+0
| | | | | | Also updated test files that were generated from this change. llvm-svn: 194453
* Added basic unit test for llvm-cov.Yuchen Wu2013-11-125-0/+166
| | | | | | | | | This test compares the output of llvm-cov against a coverage file generated by gcov. Since the source file must be in the current directory when reading GCNO files, the test will first cd into the Inputs directory. llvm-svn: 194451
* Revert "Added basic unit test for llvm-cov."Yuchen Wu2013-11-055-166/+0
| | | | | | This reverts commit 9cacd131c22b888303cb88e9a3235b2d7b2f19a1. llvm-svn: 194039
* Added basic unit test for llvm-cov.Yuchen Wu2013-11-055-0/+166
This test compares the output of llvm-cov against a coverage file generated by gcov. llvm-svn: 194038
OpenPOWER on IntegriCloud