The purpose of the bot is to make high-quality coverage reports available to
llvm developers, and to provide additional testing for clang's code coverage
implementation.
The coverage data clang generates allows the reporting tool to render execution
counts for code regions nested within lines or macros. The tool is also capable
of displaying coverage information for each instantiation of a function.
The bot runs "check-{llvm,clang}" with an instrumented version of the latest
top-of-tree compiler. It generates new reports roughly every four hours. These
reports can be used to find dead code, find fishy code, and to gauge the
effectiveness of our smoke tests.
If you have any feedback about the bot or the coverage reports, please let me
know!
vedant
p.s: There is already a coverage bot which runs "check-all" and uses gcov. If
you'd prefer those reports, you can find them here --
You don't have permission to access
/coverage/coverage-reports/clang/coverage/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/tools/polly/lib/Transform/FlattenSchedule.cpp.html
on this server.
You don't have permission to access
/coverage/coverage-reports/clang/coverage/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/tools/polly/lib/Transform/FlattenSchedule.cpp.html
on this server.
I noticed that certain files which exist in ToT don't appear to be getting mentioned despite having test coverage within the test suite.
As a particular example, consider lib/Transforms/Scalar/RewriteStatepointsForGC.cpp. There may also be others, but that's the one I happened to notice.
It's particular weird in that the gcc runs do include this particular file.
I have a bug open about this too. I like the idea of introducing a function
attribute like 'nocoverage'. I'll float the idea on cfe-dev, along with some
alternatives we've considered (new pragma, function blacklists).
This is happening because RewriteStatepointsForGC.cpp.o isn't linked into
clang, causing its coverage mapping data to be discarded. Maggie (CC'd) is
working on a patch that should allow llvm-cov to produce a combined report
given multiple binaries.
For now, I've configured the bots to produce separate reports for opt and llc
(adding to the reports we have for clang, lld, and polly). The next time it
updates, you should be able to see coverage for this file in the report for
opt.