| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a version of D32090 that unifies all of the
`getInstrProf*SectionName` helper functions. (Note: the build failures
which D32090 would have addressed were fixed with r300352.)
We should unify these helper functions because they are hard to use in
their current form. E.g we recently introduced more helpers to fix
section naming for COFF files. This scheme doesn't totally succeed at
hiding low-level details about section naming, so we should switch to an
API that is easier to maintain.
This is not an NFC commit because it fixes llvm-cov's testing support
for COFF files (this falls out of the API change naturally). This is an
area where we lack tests -- I will see about adding one as a follow up.
Testing: check-clang, check-profile, check-llvm.
Differential Revision: https://reviews.llvm.org/D32097
llvm-svn: 300381
|
|
|
|
|
|
|
|
| |
PR/32584
Differential Revision: https://reviews.llvm.org/D32023
llvm-svn: 300277
|
|
|
|
|
|
|
| |
The value_type is no longer a struct, it's a class whose
members you have to access via a method.
llvm-svn: 297635
|
|
|
|
| |
llvm-svn: 296487
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D30096
llvm-svn: 295605
|
|
|
|
|
|
| |
PR31395)
llvm-svn: 294137
|
|
|
|
| |
llvm-svn: 294136
|
|
|
|
| |
llvm-svn: 294135
|
|
|
|
| |
llvm-svn: 294134
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had various variants of defining dump() functions in LLVM. Normalize
them (this should just consistently implement the things discussed in
http://lists.llvm.org/pipermail/cfe-dev/2014-January/034323.html
For reference:
- Public headers should just declare the dump() method but not use
LLVM_DUMP_METHOD or #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
- The definition of a dump method should look like this:
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void MyClass::dump() {
// print stuff to dbgs()...
}
#endif
llvm-svn: 293359
|
|
|
|
|
|
| |
No functionality change intended.
llvm-svn: 288235
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Identified by Pedro Giffuni in PR27636.
llvm-svn: 287489
|
|
|
|
| |
llvm-svn: 285853
|
|
|
|
| |
llvm-svn: 285302
|
|
|
|
|
|
|
|
|
| |
CodeCoverageTool::error() depends on CoverageViewOptions::Colors being
initialized. Should fix:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/56
llvm-svn: 285103
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D25086
llvm-svn: 285088
|
|
|
|
|
|
|
|
|
| |
When we load coverage data from multiple objects, we don't have a way to
attribute a source object to a function record. Printing out the object
filename next to the source filename is already not very useful: soon,
it'll actually become misleading. Stop printing out the filename now.
llvm-svn: 285043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is a follow-up to D25416. It removes all usages of TimeValue from
llvm/Support library (except for the actual TimeValue declaration), and replaces
them with appropriate usages of std::chrono. To facilitate this, I have added
small utility functions for converting time points and durations into appropriate
OS-specific types (FILETIME, struct timespec, ...).
Reviewers: zturner, mehdi_amini
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D25730
llvm-svn: 284966
|
|
|
|
|
|
|
|
|
|
|
|
| |
Initializing a ThreadPool with ThreadCount = 1 spawns a thread even
though we don't need to. This is at least slower than it needs to be,
and at worst may somehow be exacerbating PR30735 (llvm-cov times out
on ARM bots).
As a follow-up, I'll try to add logic to llvm::ThreadPool to avoid
spawning a thread when ThreadCount = 1.
llvm-svn: 284621
|
|
|
|
| |
llvm-svn: 284064
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template
The core of the change is supposed to be NFC, however it also fixes
what I believe was an undefined behavior when calling:
va_start(ValueArgs, Desc);
with Desc being a StringRef.
Differential Revision: https://reviews.llvm.org/D25342
llvm-svn: 283671
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 282286
|
|
|
|
|
|
|
|
| |
... so that they don't show up in the index. This came up because polly
contains a .git directory and some other unmapped input in its source
dir.
llvm-svn: 282282
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 282280
|
|
|
|
| |
llvm-svn: 282203
|
|
|
|
|
|
|
|
|
| |
We've supported restricting coverage reports to a set of files for a
long time. Add support for being able to restrict by entire directories.
I suppose this supersedes D20803.
llvm-svn: 282202
|
|
|
|
| |
llvm-svn: 282020
|
|
|
|
| |
llvm-svn: 281883
|
|
|
|
| |
llvm-svn: 281882
|
|
|
|
|
|
|
| |
While we're at it, re-use the logic from CoverageReport to compute
summaries.
llvm-svn: 281877
|
|
|
|
| |
llvm-svn: 281876
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 281874
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 281872
|
|
|
|
| |
llvm-svn: 281590
|
|
|
|
|
|
|
|
| |
Copying in the full text of the function doesn't help at all when we
already know that it's never executed. Just say that it's unexecuted --
the relevant source text has already been printed.
llvm-svn: 281589
|
|
|
|
|
|
|
| |
Doing so is pointless, since the whole view is usually visible in a
small amount of space.
llvm-svn: 281588
|
|
|
|
| |
llvm-svn: 281581
|
|
|
|
|
|
|
| |
Having the same title, timestamp, etc. occur repeatedly creates an
unnecessary distraction when paging through a report.
llvm-svn: 281579
|
|
|
|
|
|
|
| |
Having the version information in every view is distracting, especially
if there are several sub-views.
llvm-svn: 281414
|
|
|
|
|
|
|
|
|
|
| |
number>" in the coverage report.
The llvm-cov version information will be useful to the user when comparing the code coverage across different versions of llvm-cov. This patch provides the llvm-cov version information in the generated coverage report.
Differential Revision: https://reviews.llvm.org/D24457
llvm-svn: 281321
|
|
|
|
|
|
|
| |
Having it in the same row as the source name is jarring. Move it next to
the "Source" column label.
llvm-svn: 281146
|
|
|
|
|
|
|
| |
- Change the location of the 'Region Coverage' column.
- Use less css and text for some labels.
llvm-svn: 281145
|
|
|
|
|
|
|
|
|
|
|
| |
These asserts are making tests fragile. The renderer does not enter an
invalid state when they fail, however, it may spit out a garbled
coverage report because the source text no longer matches the provided
coverage mapping.
Another follow-up to r281072.
llvm-svn: 281076
|
|
|
|
|
|
|
|
|
|
| |
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
|