| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
llvm-cov test is not supported in big-endian architectures.
llvm-svn: 200101
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support to llvm-readobj to decode the actual opcodes. The ARM EHABI opcodes
are a variable length instruction set that describe the operations required for
properly unwinding stack frames.
The primary motivation for this change is to ease the creation of tests for the
ARM EHABI object emission as well as the unwinding directive handling in the ARM
IAS.
Thanks to Logan Chien for an extra test case!
llvm-svn: 199708
|
|
|
|
| |
llvm-svn: 199518
|
|
|
|
| |
llvm-svn: 199422
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the capability to dump export table contents. An example
output is this:
Export Table:
Ordinal RVA Name
5 0x2008 exportfn1
6 0x2010 exportfn2
By adding this feature to llvm-objdump, we will be able to use it to check
export table contents in LLD's tests. Currently we are doing binary
comparison in the tests, which is fragile and not readable to humans.
llvm-svn: 199358
|
|
|
|
|
|
|
|
| |
Rename bytecode to opcodes to make it more clear. Change an impossible case to
llvm_unreachable instead. Avoid allocation of a buffer by modifying the
PrintOpcodes iteration.
llvm-svn: 198848
|
|
|
|
|
|
|
|
|
|
| |
Appease the buildbots for targets which do not build the ARM support by moving
the ARM specific test into a subdirectory and use the lit configuration to
disable them appropriately.
Thanks to chapuni and thakis for explaining how to do this!
llvm-svn: 198736
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds some preliminary support for decoding ARM EHABI unwinding information.
The major functionality that remains from complete support is bytecode
translation.
Each Unwind Index Table is printed out as a separate entity along with its
section index, name, offset, and entries.
Each entry lists the function address, and if possible, the name, of the
function to which it corresponds. The encoding model, personality routine or
index, and byte code is also listed.
llvm-svn: 198734
|
|
|
|
|
|
| |
section tags to the llvm-readobj.
llvm-svn: 198561
|
|
|
|
| |
llvm-svn: 198560
|
|
|
|
|
|
| |
Reviewed at http://llvm-reviews.chandlerc.com/D2425
llvm-svn: 197674
|
|
|
|
|
|
|
| |
Rationale: going to land D2425 shortly.
I'll re-land these COFF files along with D2425 to simplify the SVN history
llvm-svn: 197673
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
This will cause llvm-cov to output branch counts instead of branch
probabilities. -b must be enabled.
Also updated tests.
llvm-svn: 197594
|
|
|
|
|
|
| |
These will later be used as tests for the dumper part of http://llvm-reviews.chandlerc.com/D2232
llvm-svn: 197499
|
|
|
|
|
|
|
|
|
| |
Outputs branch information for unconditional branches in addition to
conditional branches. -b option must be enabled.
Also updated tests.
llvm-svn: 197432
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-svn: 196632
|
|
|
|
| |
llvm-svn: 196609
|
|
|
|
| |
llvm-svn: 196530
|
|
|
|
|
|
| |
And add the proper fix.
llvm-svn: 196367
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The function checksums are hashed from the concatenation of the function
name and line number.
llvm-svn: 196358
|
|
|
|
|
|
|
| |
Copy all test files to temporary directory, not just test.* files. Tests
didn't fail because the missing files occurred in XFAILS.
llvm-svn: 196305
|
|
|
|
|
|
|
| |
It turns out that in some build systems, tests are executed in a
non-writable directory. Hopefully, this finally fixes the issue.
llvm-svn: 196256
|
|
|
|
| |
llvm-svn: 196255
|
|
|
|
|
|
|
|
|
|
|
| |
With r196184, llvm-cov creates a new file right next to the input file.
However, the Inputs-directory can't simply be assumed to be writable
under all build systems.
Also, this prevents a new source file from showing up in the source tree
if the test aborts before the call to "rm".
llvm-svn: 196228
|
|
|
|
| |
llvm-svn: 196207
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of asking the user to specify a single file to output coverage
info and defaulting to STDOUT, llvm-cov now creates files for each
source file with a naming system of: <source filename> + ".llcov".
This is what gcov does and although it can clutter the working directory
with numerous coverage files, it will be easier to hook the llvm-cov
output to tools which operate on this assumption (such as lcov).
llvm-svn: 196184
|
|
|
|
|
|
|
| |
XFAIL llvm-cov.test for MIPS until big-endian issues are fixed for llvm-cov.
The test does pass on MIPS little-endian.
llvm-svn: 195966
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Make identify_magic to recognize COFF import file.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2165
llvm-svn: 194852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Some machine-type-neutral object files containing only undefined symbols
actually do exist in the Windows standard library. Need to recognize them
as COFF files.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2164
llvm-svn: 194734
|
|
|
|
| |
llvm-svn: 194712
|
|
|
|
|
|
| |
"diff -b" -- Ignore space changes.
llvm-svn: 194694
|
|
|
|
|
|
| |
"cd" is unsupported in lit internal runner.
llvm-svn: 194652
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unified the interface for read functions. They all return a boolean
indicating if the read from file succeeded. Functions that previously
returned the read value now store it into a variable that is passed in
by reference instead. Callers will need to check the return value to
detect if an error occurred.
Also added a new test which ensures that no assertions occur when file
contains invalid data. llvm-cov should return with error code 1 upon
failure.
llvm-svn: 194635
|
|
|
|
| |
llvm-svn: 194622
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also updated test files that were generated from this change.
llvm-svn: 194453
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
llvm-readobj.
The patch reviewed by Michael Spencer.
http://llvm-reviews.chandlerc.com/D2113
llvm-svn: 194421
|
|
|
|
|
|
| |
This reverts commit 9cacd131c22b888303cb88e9a3235b2d7b2f19a1.
llvm-svn: 194039
|
|
|
|
|
|
|
| |
This test compares the output of llvm-cov against a coverage file
generated by gcov.
llvm-svn: 194038
|
|
|
|
|
|
|
| |
The patch reviewed by Michael Spencer.
http://llvm-reviews.chandlerc.com/D1846
llvm-svn: 192093
|
|
|
|
| |
llvm-svn: 191565
|