| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 276401
|
| |
|
|
|
|
|
|
|
|
| |
This makes it easy to swap out the default stylesheet for a custom one.
It also shaves ~6.62 MB out of the report directory for a full coverage
build of llvm+clang.
While we're at it, prune the CSS and add tests for it.
llvm-svn: 276359
|
| |
|
|
| |
llvm-svn: 275843
|
| |
|
|
|
|
| |
Based on a suggestion by Harlan Haskins!
llvm-svn: 275840
|
| |
|
|
|
|
| |
Use CodeCoverageTool::{error,warning} everywhere.
llvm-svn: 275837
|
| |
|
|
|
|
|
|
|
|
| |
It's using a version of clang which can't (or won't) deduce an implicit
conversion from a SmallString to a StringRef. Write the conversion out
explicitly:
http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-buildserver/builds/8574
llvm-svn: 275647
|
| |
|
|
|
|
|
|
|
| |
They appear to reject r275640 because stdin is held open during an
ExecuteAndWait in which it's redirected:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/8390
llvm-svn: 275642
|
| |
|
|
|
|
|
|
|
|
| |
Add an option to specify a symbol demangler (as well as options to the
demangler). This can be used to make reports more human-readable.
This option is especially useful in -output-dir mode, since it isn't as
easy to manually pipe reports into a demangler in this mode.
llvm-svn: 275640
|
| |
|
|
| |
llvm-svn: 275639
|
| |
|
|
|
|
|
| |
While we're at it, extend an existing test to make sure that error
messages look reasonable.
llvm-svn: 275520
|
| |
|
|
|
|
|
|
|
|
|
| |
Taking a lock before appending to a vector does no good unless threads
reading from the vector also take the lock, because the vector could be
re-sized.
I don't have a good isolated test for this. I found the issue with ASan
while testing a large project. I'm working on a bot that does this.
llvm-svn: 275516
|
| |
|
|
|
|
|
|
| |
Writing `for (StringRef &SourceFile : ...)` is strange to begin with.
Subsequently capturing "SourceFile" by reference is even stranger. Just
copy the StringRef, since that's cheap to do.
llvm-svn: 275515
|
| |
|
|
| |
llvm-svn: 275514
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's safe to print out source coverage views using multiple threads when
using the -output-dir mode of the `llvm-cov show` sub-command.
While testing this on my development machine, I observed that the speed
up is roughly linear with the number of available cores. Avg. time for
`llvm-cov show ./llvm-as -show-line-counts-or-regions`:
1 thread: 7.79s user 0.33s system 98% cpu 8.228 total
4 threads: 7.82s user 0.34s system 283% cpu 2.880 total
llvm-svn: 275321
|
| |
|
|
|
|
|
| |
The rest of llvm-cov does not use LLVM_ATTRIBUTE_UNUSED. Leave unused
params unnamed to be consistent.
llvm-svn: 274694
|
| |
|
|
|
|
|
|
| |
Based on a patch by Harlan Haskins!
Differential Revision: http://reviews.llvm.org/D18278
llvm-svn: 274688
|
| |
|
|
|
|
| |
This makes it possible to e.g copy a report to another filesystem.
llvm-svn: 274173
|
| |
|
|
| |
llvm-svn: 274139
|
| |
|
|
|
|
|
|
|
|
|
| |
In -output-dir mode, file reports are placed into a "coverage"
directory. If filenames in the coverage mapping contain "..", they might
escape out of this directory.
Fix the problem by removing ".." from source filenames (expand the path
component).
llvm-svn: 274135
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add renderView{Header,Footer}, renderLineSuffix, and hasSubViews to
support creating tables with nested views.
- Move the 'Format' cl::opt to make it easier to extend.
- Just create one function view file, instead of overwriting the same
file for every new function. Add a regression test for this.
llvm-svn: 274086
|
| |
|
|
| |
llvm-svn: 274065
|
| |
|
|
|
|
|
|
|
|
| |
This index lists the reports available in the 'coverage' sub-directory.
This will help navigate coverage output from large projects.
This commit factors the file creation code out of SourceCoverageView and
into CoveragePrinter.
llvm-svn: 274029
|
| |
|
|
|
|
|
|
| |
- Test the '-o' alias for -output-dir.
- Use a helper method in a conditional.
- Add a period.
llvm-svn: 274028
|
| |
|
|
| |
llvm-svn: 274027
|
| |
|
|
|
|
|
| |
This makes it a bit more generic, in case we want to emit summary
reports in different formats in the future.
llvm-svn: 274026
|
| |
|
|
| |
llvm-svn: 274025
|
| |
|
|
| |
llvm-svn: 274011
|
| |
|
|
| |
llvm-svn: 273988
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Passing -output-dir path/to/dir to llvm-cov show creates path/to/dir if
it doesn't already exist, and prints reports into that directory.
In function view mode, all views are written into
path/to/dir/functions.$EXTENSION. In file view mode, all views are
written into path/to/dir/coverage/$PATH.$EXTENSION.
Changes since the initial commit:
- Avoid accidentally closing stdout twice.
llvm-svn: 273985
|
| |
|
|
|
|
|
| |
This reverts commit r273971. test/profile/instrprof-visibility.cpp is
failing because of an uncaught error in SafelyCloseFileDescriptor.
llvm-svn: 273978
|
| |
|
|
|
|
|
|
|
|
|
| |
Passing -output-dir path/to/dir to llvm-cov show creates path/to/dir if
it doesn't already exist, and prints reports into that directory.
In function view mode, all views are written into
path/to/dir/functions.$EXTENSION. In file view mode, all views are
written into path/to/dir/coverage/$PATH.$EXTENSION.
llvm-svn: 273971
|
| |
|
|
| |
llvm-svn: 273969
|
| |
|
|
| |
llvm-svn: 273968
|
| |
|
|
|
|
|
|
|
| |
If a sub-view has already been rendered, it's helpful to re-render the
expansion site before rendering the next expansion view. Make this fact
explicit in the rendering interface, instead of hiding it behind an
awkward Optional<LineRef> parameter.
llvm-svn: 273789
|
| |
|
|
|
|
|
| |
Make renderExpansionView() look a bit more like renderLine(), and
clarify its doxygen comment.
llvm-svn: 273773
|
| |
|
|
| |
llvm-svn: 273772
|
| |
|
|
|
|
|
|
|
| |
There's some kind of issue with using "constexpr unsigned" in an
anonymous namespace.
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/13395
llvm-svn: 273770
|
| |
|
|
|
|
|
|
|
|
| |
This makes it easier to add renderers for new kinds of output formats.
- Define and document a pure-virtual coverage rendering interface.
- Move the text-based rendering logic into its a new file.
- Re-work the API to better reflect the presentation/formatting split.
llvm-svn: 273767
|
| |
|
|
|
|
|
|
|
| |
They were using output streams inconsistently. One also had a grammar
bug.
I noticed these while trying to pare down D18278.
llvm-svn: 273642
|
| |
|
|
|
|
|
| |
A lot of this code is going to move into the text-based coverage
renderer, and won't be able to use Options directly. Use the getter.
llvm-svn: 273635
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A SourceName can be a file or a function. It makes sense to attach this
information to a SourceCoverageView, seeing as views (1) already point
to the text corresponding to the relevant source code and (2) are
already used to render that text along with the SourceNames.
This is a nice cleanup which is independent of the upcoming html patch.
While we're at it, document the fields in SourceCoverageView.
llvm-svn: 273634
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Pull LineCoverageInfo out of SourceCoverageView and rename it so that it
doesn't conflict with another class of the same name in
CoverageSummaryInfo.h.
This cuts down on the amount of code we have to move into a `protected`
section of SourceCoverageView for the upcoming html patch. It also makes
the code a bit clearer: having two LineCoverageInfo's is strange.
llvm-svn: 273633
|
| |
|
|
| |
llvm-svn: 273577
|
| |
|
|
|
|
|
| |
looking for it along $PATH. This allows installs of LLVM tools outside of
$PATH to find the symbolizer and produce pretty backtraces if they crash.
llvm-svn: 272232
|
| |
|
|
|
|
|
| |
Avoids unnecessary copies. All changes audited & pass tests with asan.
No functional change intended.
llvm-svn: 272190
|
| |
|
|
| |
llvm-svn: 271537
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Transition InstrProf and Coverage over to the stricter Error/Expected
interface.
Changes since the initial commit:
- Fix error message printing in llvm-profdata.
- Check errors in loadTestingFormat() + annotateAllFunctions().
- Defer error handling in InstrProfIterator to InstrProfReader.
- Remove the base ProfError class to work around an MSVC ICE.
Differential Revision: http://reviews.llvm.org/D19901
llvm-svn: 270020
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
'covmapping' files.
Coverage mapping data is organized in a sequence of blocks, each of which is expected
to be aligned by 8 bytes. This feature is used when reading those blocks, see
VersionedCovMapFuncRecordReader::readFunctionRecords(). If a misaligned covearge
mapping data has more than one block, it causes llvm-cov to fail.
Differential Revision: http://reviews.llvm.org/D20285
llvm-svn: 269887
|
| |
|
|
|
|
|
|
| |
This reverts commit r269694. MSVC says:
error C2086: 'char llvm::ProfErrorInfoBase<enum llvm::instrprof_error>::ID' : redefinition
llvm-svn: 269700
|