#
fa8ef35e |
| 28-Sep-2017 |
Sean Eveson <eveson.sean@gmail.com> |
[llvm-cov] Create directory structure when filtering using -name*= options
Before this change using any of the -name*= command line options with an output directory would result in a single file (fu
[llvm-cov] Create directory structure when filtering using -name*= options
Before this change using any of the -name*= command line options with an output directory would result in a single file (functions.txt/functions.html) containing the coverage for those specific functions. Now you get the same directory structure as when not using any -name*= options.
Differential Revision: https://reviews.llvm.org/D38280
llvm-svn: 314396
show more ...
|
#
1439fa62 |
| 27-Sep-2017 |
Sean Eveson <eveson.sean@gmail.com> |
Revert "[llvm-cov] Create directory structure when filtering using -name*= options"
Test failures.
llvm-svn: 314314
|
#
51b81747 |
| 27-Sep-2017 |
Sean Eveson <eveson.sean@gmail.com> |
[llvm-cov] Create directory structure when filtering using -name*= options
Before this change using any of the -name*= command line options with an output directory would result in a single file (fu
[llvm-cov] Create directory structure when filtering using -name*= options
Before this change using any of the -name*= command line options with an output directory would result in a single file (functions.txt/functions.html) containing the coverage for those specific functions. Now you get the same directory structure as when not using any -name*= options.
Differential Revision: https://reviews.llvm.org/D38280
llvm-svn: 314310
show more ...
|
#
b7fdaf2c |
| 19-Sep-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Make report metrics agree with line exec counts, fixes PR34615
Use the same logic as the line-oriented coverage view to determine the number of covered lines in a function.
Fixes llvm.or
[llvm-cov] Make report metrics agree with line exec counts, fixes PR34615
Use the same logic as the line-oriented coverage view to determine the number of covered lines in a function.
Fixes llvm.org/PR34615.
llvm-svn: 313604
show more ...
|
#
c445e65d |
| 15-Sep-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Make some summary info fields private. NFC.
There's a bug in the way the line and region summary objects are merged. It would have been less likely to occur if those objects kept some dat
[llvm-cov] Make some summary info fields private. NFC.
There's a bug in the way the line and region summary objects are merged. It would have been less likely to occur if those objects kept some data private.
llvm-svn: 313416
show more ...
|
#
b84e4844 |
| 15-Sep-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Remove a redundant field. NFC.
The "NotCovered" fields in the region and line summary structs are redundant. We should remove them to make the code clearer.
As a follow-up, the "NotCover
[llvm-cov] Remove a redundant field. NFC.
The "NotCovered" fields in the region and line summary structs are redundant. We should remove them to make the code clearer.
As a follow-up, the "NotCovered" entries should be removed from the reports as well.
llvm-svn: 313415
show more ...
|
#
50479f60 |
| 11-Sep-2017 |
Eli Friedman <efriedma@codeaurora.org> |
[llvm-cov] Allow hiding instantiation/region coverage from summary tables
Region coverage is difficult to explain without going deep into how coverage is implemented. Instantiation coverage is easie
[llvm-cov] Allow hiding instantiation/region coverage from summary tables
Region coverage is difficult to explain without going deep into how coverage is implemented. Instantiation coverage is easier to explain, but probably not useful in most cases (templates don't exist in C, and most C++ code contains relatively few templates).
This patch adds the options "-show-region-summary" and "-show-instantiation-summary" to allow hiding those columns. "-show-instantiation-summary" is turned off by default.
llvm-svn: 312969
show more ...
|
#
72c3a114 |
| 08-Sep-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Fix a lifetime issue
This fixes an issue where a std::string was moved to a constructor which accepted a StringRef.
llvm-svn: 312816
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2 |
|
#
c0c182cc |
| 09-Aug-2017 |
Eli Friedman <efriedma@codeaurora.org> |
[llvm-cov] Rearrange entries in report index.
Files which don't contain any functions are likely useless; don't include them in the main table. Put the links at the bottom of the page, in case someo
[llvm-cov] Rearrange entries in report index.
Files which don't contain any functions are likely useless; don't include them in the main table. Put the links at the bottom of the page, in case someone wants to figure out coverage for code inside a macro.
Not sure if this is the best solution, but it seems like an improvement.
Differential Revision: https://reviews.llvm.org/D36298
llvm-svn: 310518
show more ...
|
#
dde19c5a |
| 02-Aug-2017 |
Vedant Kumar <vsk@apple.com> |
[Coverage] Add an API to retrive all instantiations of a function (NFC)
The CoverageMapping::getInstantiations() API retrieved all function records corresponding to functions with more than one inst
[Coverage] Add an API to retrive all instantiations of a function (NFC)
The CoverageMapping::getInstantiations() API retrieved all function records corresponding to functions with more than one instantiation (e.g template functions with multiple specializations). However, there was no simple way to determine *which* function a given record was an instantiation of. This was an oversight, since it's useful to aggregate coverage information over all instantiations of a function.
llvm-cov works around this by building a mapping of source locations to instantiation sets, but this duplicates logic that libCoverage already has (see FunctionInstantiationSetCollector).
This change adds a new API, CoverageMapping::getInstantiationGroups(), which returns a list of InstantiationGroups. A group contains records for each instantiation of some particular function, and also provides utilities to get the total execution count within the group, the source location of the common definition, etc.
This lets removes some hacky logic in llvm-cov by reusing FunctionInstantiationSetCollector and makes the CoverageMapping API friendlier for other clients.
llvm-svn: 309904
show more ...
|
Revision tags: llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1 |
|
#
368c3fa6 |
| 13-Mar-2017 |
Zachary Turner <zturner@google.com> |
Use the new member accessors of llvm::enumerate.
The value_type is no longer a struct, it's a class whose members you have to access via a method.
llvm-svn: 297635
|
Revision tags: llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3 |
|
#
11813280 |
| 23-Feb-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Strip redundant path components from filenames (fix PR31982)
Instead of stripping the longest common prefix off of the filenames in a report, strip out the longest chain of redundant path
[llvm-cov] Strip redundant path components from filenames (fix PR31982)
Instead of stripping the longest common prefix off of the filenames in a report, strip out the longest chain of redundant path components. This fixes the case in PR31982, where there are two files with the same prefix, and stripping out the LCP makes things less intelligible.
llvm-svn: 296029
show more ...
|
Revision tags: llvmorg-4.0.0-rc2 |
|
#
f2b067c4 |
| 05-Feb-2017 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Demangle symbols in function summaries (fixes PR31394)
llvm-svn: 294136
|
Revision tags: llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
#
35369c1e |
| 21-Nov-2016 |
Alex Lorenz <arphaman@gmail.com> |
[llvm-cov] Avoid 0% when reporting something that's 0/0
This commit makes llvm-cov avoid showing 0% (0/0) coverage for things like file function coverage, etc. in reports and HTML output. This can h
[llvm-cov] Avoid 0% when reporting something that's 0/0
This commit makes llvm-cov avoid showing 0% (0/0) coverage for things like file function coverage, etc. in reports and HTML output. This can happen for files like headers that have macros but no functions. This commit makes llvm-cov report - (0/0) instead.
rdar://29246480
Differential Revision: https://reviews.llvm.org/D26615
llvm-svn: 287539
show more ...
|
#
5cd496ba |
| 26-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Silence a warning from the MSVC runtime (NFC)
Rework getLongestCommonPrefixLen() so that it doesn't access string null terminators. The old version with std::mismatch would do this:
[llvm-cov] Silence a warning from the MSVC runtime (NFC)
Rework getLongestCommonPrefixLen() so that it doesn't access string null terminators. The old version with std::mismatch would do this:
| v Strings[0] = ['a', nil]
Strings[1] = ['a', 'a', nil] ^ |
This should silence a warning from the MSVC runtime (PR30515). As before, I tested this out by preparing a coverage report for FileCheck. Thanks to Yaron Keren for the report!
llvm-svn: 282422
show more ...
|
#
bc647985 |
| 23-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Get rid of all invalid filename references
We used to append filenames into a vector of std::string, and then append a reference to each string into a separate vector. This made it easier
[llvm-cov] Get rid of all invalid filename references
We used to append filenames into a vector of std::string, and then append a reference to each string into a separate vector. This made it easier to work with the getUniqueSourceFiles API. But it's buggy.
std::string has a small-string optimization, so you can't expect to capture a reference to one if you're copying it into a growing vector. Add a test that triggers this invalid reference to std::string scenario, and kill the issue with fire by just using ArrayRef<std::string> everywhere.
llvm-svn: 282281
show more ...
|
#
9cbf80af |
| 19-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Make a helper method static for re-use (NFC)
llvm-svn: 281876
|
#
016111f7 |
| 19-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Track function and instantiation coverage separately
These are distinct statistics which are useful to look at separately.
Example: say you have a template function "foo" with 5 instanti
[llvm-cov] Track function and instantiation coverage separately
These are distinct statistics which are useful to look at separately.
Example: say you have a template function "foo" with 5 instantiations and only 3 of them are covered. Then this contributes (1/1) to the total function coverage and (3/5) to the total instantiation coverage. I.e, the old "Function Coverage" column has been renamed to "Instantiation Coverage", and the new "Function Coverage" aggregates information from the various instantiations of a function.
One benefit of making this switch is that the Line and Region coverage columns will start making sense. Let's continue the example and assume that the 5 instantiations of "foo" cover {2, 4, 6, 8, 10} out of 10 lines respectively. The new line coverage for "foo" is (10/10), not (30/50). The old scenario got confusing because we'd report that there were more lines in a file than what was actually possible.
llvm-svn: 281875
show more ...
|
#
dab0ec12 |
| 19-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Make 'adjustColumnWidths' do less work
This drops some redundant calls to get{UniqueSourceFiles, CoveredFunctions}. We can figure out the right column widths without re-doing this expensi
[llvm-cov] Make 'adjustColumnWidths' do less work
This drops some redundant calls to get{UniqueSourceFiles, CoveredFunctions}. We can figure out the right column widths without re-doing this expensive work.
This isn't NFC, but I don't want to check in another binary *.covmapping file with long filenames in it. I tested this locally on a project with some long filenames (FileCheck).
llvm-svn: 281873
show more ...
|
#
d938dfb3 |
| 09-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Handle native paths correctly in the text index
Treat filenames the same way in the text index as we do in the html index. This is a follow-up to r281008 (an attempt to unbreak the native
[llvm-cov] Handle native paths correctly in the text index
Treat filenames the same way in the text index as we do in the html index. This is a follow-up to r281008 (an attempt to unbreak the native_separators.c test on Windows).
Patch by Maggie Yi!
llvm-svn: 281062
show more ...
|
#
627887b6 |
| 09-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Add an API to prepare file reports (NFC)
It would be nice to prepare file reports (using the CoverageReport API) without actually rendering them to the console. I plan on using this to fl
[llvm-cov] Add an API to prepare file reports (NFC)
It would be nice to prepare file reports (using the CoverageReport API) without actually rendering them to the console. I plan on using this to flesh out the 'index' files in the coverage views.
llvm-svn: 281009
show more ...
|
#
fa754371 |
| 08-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Drop the longest common filename prefix from summaries
Remove the longest common prefix from filenames when printing coverage summaries. This makes them easier to compare.
llvm-svn: 2808
[llvm-cov] Drop the longest common filename prefix from summaries
Remove the longest common prefix from filenames when printing coverage summaries. This makes them easier to compare.
llvm-svn: 280895
show more ...
|
#
5053b11e |
| 06-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Use colors consistently in the summary
Use the same color for counts and percentages. There doesn't seem to be a reason for them to be different, and the summary looks more consistent thi
[llvm-cov] Use colors consistently in the summary
Use the same color for counts and percentages. There doesn't seem to be a reason for them to be different, and the summary looks more consistent this way.
llvm-svn: 280765
show more ...
|
#
702bb9d9 |
| 06-Sep-2016 |
Vedant Kumar <vsk@apple.com> |
[llvm-cov] Clean up the summary class, delete dead code (NFC)
llvm-svn: 280764
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
#
e59ee43c |
| 22-Jul-2016 |
Ying Yi <maggieyi666@gmail.com> |
[llvm-cov] - Add the coverage of lines in the summary report.
The llvm-cov ‘report' command displays a summary of the coverage of a binary file. The summary report currently only includes covered re
[llvm-cov] - Add the coverage of lines in the summary report.
The llvm-cov ‘report' command displays a summary of the coverage of a binary file. The summary report currently only includes covered regions and covered functions. This patch adds the coverage of lines in the summary report.
Differential Revision: https://reviews.llvm.org/D22569
llvm-svn: 276409
show more ...
|