[sancov] introducing symbolized coverage files (.symcov)
authorMike Aizatsky <aizatsky@chromium.org>
Wed, 28 Sep 2016 21:39:28 +0000 (21:39 +0000)
committerMike Aizatsky <aizatsky@chromium.org>
Wed, 28 Sep 2016 21:39:28 +0000 (21:39 +0000)
commit392caa538dfa29757f8f1e8635508affab2b1072
treec8eb70eab3c80e269c5c187ac58d8b8035af1a4c
parentf8d10ceafee3976f74ec8acc9d703e687aa09b68
[sancov] introducing symbolized coverage files (.symcov)

Summary:
Answering any meaningful questions about .sancov files requires
accessing symbol information from the corresponding binary.

This change introduces a separate intermediate data structure and
format: symbolized coverage. It contains all symbol information that
is required to answer common queries:
- merging
- coverd/uncovered files and functions
- line status.

Also removing the html report functionality from sancov: generated
HTML files are too huge, and a different approach is required.
Maintaining this half-working approach in the C++ is painful.

Differential Revision: https://reviews.llvm.org/D24947

llvm-svn: 282639
llvm/include/llvm/DebugInfo/DIContext.h
llvm/test/tools/sancov/Inputs/test-linux_x86_64.0.symcov [new file with mode: 0644]
llvm/test/tools/sancov/Inputs/test-linux_x86_64.1.symcov [new file with mode: 0644]
llvm/test/tools/sancov/html-report.test [deleted file]
llvm/test/tools/sancov/merge.test [new file with mode: 0644]
llvm/test/tools/sancov/symbolize.test [new file with mode: 0644]
llvm/tools/sancov/sancov.cc