[PATCH] D22651: Create llvm-cov structured export submodule

Eddie Hurtig via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 14:39:36 PDT 2016


ehurtig created this revision.
ehurtig added reviewers: llvm-commits, vsk.
ehurtig added a subscriber: ehurtig.
ehurtig set the repository for this revision to rL LLVM.
ehurtig changed the visibility of this Differential Revision from "Public (No Login Required)" to "Custom Policy".

This patch enables users to export coverage information into portable JSON for use by analysis tools and storage in document based databases.  This will expose the coverage information gathered by the instrumentation in such a fashion that automated tooling will be able to process coverage information.

The export submodule is invoked just like the the report subcommand

```
$ llvm-cov export -instr-profile /path/to/foo.profdata /path/to/foo
```

The resulting JSON contains a list of Files and Functions.  

Every file object contains a list of segments, expansions, and a summary of the file's region, function, and line coverage.

Every function object contains the function's name and regions

There is also a total summary for the entire object file.

A documentation patch is incoming to update https://github.com/llvm-mirror/clang/blob/master/docs/SourceBasedCodeCoverage.rst


Repository:
  rL LLVM

https://reviews.llvm.org/D22651

Files:
  test/tools/llvm-cov/Inputs/binary-formats.canonical.json
  test/tools/llvm-cov/Inputs/highlightedRanges.json
  test/tools/llvm-cov/Inputs/lineExecutionCounts.json
  test/tools/llvm-cov/Inputs/regionMarkers.json
  test/tools/llvm-cov/Inputs/showExpansions.json
  test/tools/llvm-cov/Inputs/universal-binary.json
  test/tools/llvm-cov/binary-formats.c
  test/tools/llvm-cov/showExpansions.cpp
  test/tools/llvm-cov/showHighlightedRanges.cpp
  test/tools/llvm-cov/showLineExecutionCounts.cpp
  test/tools/llvm-cov/showRegionMarkers.cpp
  test/tools/llvm-cov/universal-binary.c
  tools/llvm-cov/CMakeLists.txt
  tools/llvm-cov/CodeCoverage.cpp
  tools/llvm-cov/CoverageExporterJson.cpp
  tools/llvm-cov/llvm-cov.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22651.64963.patch
Type: text/x-patch
Size: 36794 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160721/6e4101a1/attachment.bin>


More information about the llvm-commits mailing list