summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/docs/CommandGuide/llvm-cov.rst
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/docs/CommandGuide/llvm-cov.rst')
-rw-r--r--gnu/llvm/docs/CommandGuide/llvm-cov.rst416
1 files changed, 0 insertions, 416 deletions
diff --git a/gnu/llvm/docs/CommandGuide/llvm-cov.rst b/gnu/llvm/docs/CommandGuide/llvm-cov.rst
deleted file mode 100644
index 71924e997d9..00000000000
--- a/gnu/llvm/docs/CommandGuide/llvm-cov.rst
+++ /dev/null
@@ -1,416 +0,0 @@
-llvm-cov - emit coverage information
-====================================
-
-SYNOPSIS
---------
-
-:program:`llvm-cov` *command* [*args...*]
-
-DESCRIPTION
------------
-
-The :program:`llvm-cov` tool shows code coverage information for
-programs that are instrumented to emit profile data. It can be used to
-work with ``gcov``\-style coverage or with ``clang``\'s instrumentation
-based profiling.
-
-If the program is invoked with a base name of ``gcov``, it will behave as if
-the :program:`llvm-cov gcov` command were called. Otherwise, a command should
-be provided.
-
-COMMANDS
---------
-
-* :ref:`gcov <llvm-cov-gcov>`
-* :ref:`show <llvm-cov-show>`
-* :ref:`report <llvm-cov-report>`
-* :ref:`export <llvm-cov-export>`
-
-.. program:: llvm-cov gcov
-
-.. _llvm-cov-gcov:
-
-GCOV COMMAND
-------------
-
-SYNOPSIS
-^^^^^^^^
-
-:program:`llvm-cov gcov` [*options*] *SOURCEFILE*
-
-DESCRIPTION
-^^^^^^^^^^^
-
-The :program:`llvm-cov gcov` tool reads code coverage data files and displays
-the coverage information for a specified source file. It is compatible with the
-``gcov`` tool from version 4.2 of ``GCC`` and may also be compatible with some
-later versions of ``gcov``.
-
-To use :program:`llvm-cov gcov`, you must first build an instrumented version
-of your application that collects coverage data as it runs. Compile with the
-``-fprofile-arcs`` and ``-ftest-coverage`` options to add the
-instrumentation. (Alternatively, you can use the ``--coverage`` option, which
-includes both of those other options.) You should compile with debugging
-information (``-g``) and without optimization (``-O0``); otherwise, the
-coverage data cannot be accurately mapped back to the source code.
-
-At the time you compile the instrumented code, a ``.gcno`` data file will be
-generated for each object file. These ``.gcno`` files contain half of the
-coverage data. The other half of the data comes from ``.gcda`` files that are
-generated when you run the instrumented program, with a separate ``.gcda``
-file for each object file. Each time you run the program, the execution counts
-are summed into any existing ``.gcda`` files, so be sure to remove any old
-files if you do not want their contents to be included.
-
-By default, the ``.gcda`` files are written into the same directory as the
-object files, but you can override that by setting the ``GCOV_PREFIX`` and
-``GCOV_PREFIX_STRIP`` environment variables. The ``GCOV_PREFIX_STRIP``
-variable specifies a number of directory components to be removed from the
-start of the absolute path to the object file directory. After stripping those
-directories, the prefix from the ``GCOV_PREFIX`` variable is added. These
-environment variables allow you to run the instrumented program on a machine
-where the original object file directories are not accessible, but you will
-then need to copy the ``.gcda`` files back to the object file directories
-where :program:`llvm-cov gcov` expects to find them.
-
-Once you have generated the coverage data files, run :program:`llvm-cov gcov`
-for each main source file where you want to examine the coverage results. This
-should be run from the same directory where you previously ran the
-compiler. The results for the specified source file are written to a file named
-by appending a ``.gcov`` suffix. A separate output file is also created for
-each file included by the main source file, also with a ``.gcov`` suffix added.
-
-The basic content of an ``.gcov`` output file is a copy of the source file with
-an execution count and line number prepended to every line. The execution
-count is shown as ``-`` if a line does not contain any executable code. If
-a line contains code but that code was never executed, the count is displayed
-as ``#####``.
-
-OPTIONS
-^^^^^^^
-
-.. option:: -a, --all-blocks
-
- Display all basic blocks. If there are multiple blocks for a single line of
- source code, this option causes llvm-cov to show the count for each block
- instead of just one count for the entire line.
-
-.. option:: -b, --branch-probabilities
-
- Display conditional branch probabilities and a summary of branch information.
-
-.. option:: -c, --branch-counts
-
- Display branch counts instead of probabilities (requires -b).
-
-.. option:: -f, --function-summaries
-
- Show a summary of coverage for each function instead of just one summary for
- an entire source file.
-
-.. option:: --help
-
- Display available options (--help-hidden for more).
-
-.. option:: -l, --long-file-names
-
- For coverage output of files included from the main source file, add the
- main file name followed by ``##`` as a prefix to the output file names. This
- can be combined with the --preserve-paths option to use complete paths for
- both the main file and the included file.
-
-.. option:: -n, --no-output
-
- Do not output any ``.gcov`` files. Summary information is still
- displayed.
-
-.. option:: -o=<DIR|FILE>, --object-directory=<DIR>, --object-file=<FILE>
-
- Find objects in DIR or based on FILE's path. If you specify a particular
- object file, the coverage data files are expected to have the same base name
- with ``.gcno`` and ``.gcda`` extensions. If you specify a directory, the
- files are expected in that directory with the same base name as the source
- file.
-
-.. option:: -p, --preserve-paths
-
- Preserve path components when naming the coverage output files. In addition
- to the source file name, include the directories from the path to that
- file. The directories are separate by ``#`` characters, with ``.`` directories
- removed and ``..`` directories replaced by ``^`` characters. When used with
- the --long-file-names option, this applies to both the main file name and the
- included file name.
-
-.. option:: -u, --unconditional-branches
-
- Include unconditional branches in the output for the --branch-probabilities
- option.
-
-.. option:: -version
-
- Display the version of llvm-cov.
-
-EXIT STATUS
-^^^^^^^^^^^
-
-:program:`llvm-cov gcov` returns 1 if it cannot read input files. Otherwise,
-it exits with zero.
-
-
-.. program:: llvm-cov show
-
-.. _llvm-cov-show:
-
-SHOW COMMAND
-------------
-
-SYNOPSIS
-^^^^^^^^
-
-:program:`llvm-cov show` [*options*] -instr-profile *PROFILE* *BIN* [*-object BIN,...*] [[*-object BIN*]] [*SOURCES*]
-
-DESCRIPTION
-^^^^^^^^^^^
-
-The :program:`llvm-cov show` command shows line by line coverage of the
-binaries *BIN*,... using the profile data *PROFILE*. It can optionally be
-filtered to only show the coverage for the files listed in *SOURCES*.
-
-To use :program:`llvm-cov show`, you need a program that is compiled with
-instrumentation to emit profile and coverage data. To build such a program with
-``clang`` use the ``-fprofile-instr-generate`` and ``-fcoverage-mapping``
-flags. If linking with the ``clang`` driver, pass ``-fprofile-instr-generate``
-to the link stage to make sure the necessary runtime libraries are linked in.
-
-The coverage information is stored in the built executable or library itself,
-and this is what you should pass to :program:`llvm-cov show` as a *BIN*
-argument. The profile data is generated by running this instrumented program
-normally. When the program exits it will write out a raw profile file,
-typically called ``default.profraw``, which can be converted to a format that
-is suitable for the *PROFILE* argument using the :program:`llvm-profdata merge`
-tool.
-
-OPTIONS
-^^^^^^^
-
-.. option:: -show-line-counts
-
- Show the execution counts for each line. Defaults to true, unless another
- ``-show`` option is used.
-
-.. option:: -show-expansions
-
- Expand inclusions, such as preprocessor macros or textual inclusions, inline
- in the display of the source file. Defaults to false.
-
-.. option:: -show-instantiations
-
- For source regions that are instantiated multiple times, such as templates in
- ``C++``, show each instantiation separately as well as the combined summary.
- Defaults to true.
-
-.. option:: -show-regions
-
- Show the execution counts for each region by displaying a caret that points to
- the character where the region starts. Defaults to false.
-
-.. option:: -show-line-counts-or-regions
-
- Show the execution counts for each line if there is only one region on the
- line, but show the individual regions if there are multiple on the line.
- Defaults to false.
-
-.. option:: -use-color
-
- Enable or disable color output. By default this is autodetected.
-
-.. option:: -arch=[*NAMES*]
-
- Specify a list of architectures such that the Nth entry in the list
- corresponds to the Nth specified binary. If the covered object is a universal
- binary, this specifies the architecture to use. It is an error to specify an
- architecture that is not included in the universal binary or to use an
- architecture that does not match a non-universal binary.
-
-.. option:: -name=<NAME>
-
- Show code coverage only for functions with the given name.
-
-.. option:: -name-whitelist=<FILE>
-
- Show code coverage only for functions listed in the given file. Each line in
- the file should start with `whitelist_fun:`, immediately followed by the name
- of the function to accept. This name can be a wildcard expression.
-
-.. option:: -name-regex=<PATTERN>
-
- Show code coverage only for functions that match the given regular expression.
-
-.. option:: -ignore-filename-regex=<PATTERN>
-
- Skip source code files with file paths that match the given regular expression.
-
-.. option:: -format=<FORMAT>
-
- Use the specified output format. The supported formats are: "text", "html".
-
-.. option:: -tab-size=<TABSIZE>
-
- Replace tabs with <TABSIZE> spaces when preparing reports. Currently, this is
- only supported for the html format.
-
-.. option:: -output-dir=PATH
-
- Specify a directory to write coverage reports into. If the directory does not
- exist, it is created. When used in function view mode (i.e when -name or
- -name-regex are used to select specific functions), the report is written to
- PATH/functions.EXTENSION. When used in file view mode, a report for each file
- is written to PATH/REL_PATH_TO_FILE.EXTENSION.
-
-.. option:: -Xdemangler=<TOOL>|<TOOL-OPTION>
-
- Specify a symbol demangler. This can be used to make reports more
- human-readable. This option can be specified multiple times to supply
- arguments to the demangler (e.g `-Xdemangler c++filt -Xdemangler -n` for C++).
- The demangler is expected to read a newline-separated list of symbols from
- stdin and write a newline-separated list of the same length to stdout.
-
-.. option:: -num-threads=N, -j=N
-
- Use N threads to write file reports (only applicable when -output-dir is
- specified). When N=0, llvm-cov auto-detects an appropriate number of threads to
- use. This is the default.
-
-.. option:: -line-coverage-gt=<N>
-
- Show code coverage only for functions with line coverage greater than the
- given threshold.
-
-.. option:: -line-coverage-lt=<N>
-
- Show code coverage only for functions with line coverage less than the given
- threshold.
-
-.. option:: -region-coverage-gt=<N>
-
- Show code coverage only for functions with region coverage greater than the
- given threshold.
-
-.. option:: -region-coverage-lt=<N>
-
- Show code coverage only for functions with region coverage less than the given
- threshold.
-
-.. option:: -path-equivalence=<from>,<to>
-
- Map the paths in the coverage data to local source file paths. This allows you
- to generate the coverage data on one machine, and then use llvm-cov on a
- different machine where you have the same files on a different path.
-
-.. program:: llvm-cov report
-
-.. _llvm-cov-report:
-
-REPORT COMMAND
---------------
-
-SYNOPSIS
-^^^^^^^^
-
-:program:`llvm-cov report` [*options*] -instr-profile *PROFILE* *BIN* [*-object BIN,...*] [[*-object BIN*]] [*SOURCES*]
-
-DESCRIPTION
-^^^^^^^^^^^
-
-The :program:`llvm-cov report` command displays a summary of the coverage of
-the binaries *BIN*,... using the profile data *PROFILE*. It can optionally be
-filtered to only show the coverage for the files listed in *SOURCES*.
-
-If no source files are provided, a summary line is printed for each file in the
-coverage data. If any files are provided, summaries can be shown for each
-function in the listed files if the ``-show-functions`` option is enabled.
-
-For information on compiling programs for coverage and generating profile data,
-see :ref:`llvm-cov-show`.
-
-OPTIONS
-^^^^^^^
-
-.. option:: -use-color[=VALUE]
-
- Enable or disable color output. By default this is autodetected.
-
-.. option:: -arch=<name>
-
- If the covered binary is a universal binary, select the architecture to use.
- It is an error to specify an architecture that is not included in the
- universal binary or to use an architecture that does not match a
- non-universal binary.
-
-.. option:: -show-functions
-
- Show coverage summaries for each function. Defaults to false.
-
-.. option:: -show-instantiation-summary
-
- Show statistics for all function instantiations. Defaults to false.
-
-.. option:: -ignore-filename-regex=<PATTERN>
-
- Skip source code files with file paths that match the given regular expression.
-
-.. program:: llvm-cov export
-
-.. _llvm-cov-export:
-
-EXPORT COMMAND
---------------
-
-SYNOPSIS
-^^^^^^^^
-
-:program:`llvm-cov export` [*options*] -instr-profile *PROFILE* *BIN* [*-object BIN,...*] [[*-object BIN*]] [*SOURCES*]
-
-DESCRIPTION
-^^^^^^^^^^^
-
-The :program:`llvm-cov export` command exports coverage data of the binaries
-*BIN*,... using the profile data *PROFILE* in either JSON or lcov trace file
-format.
-
-When exporting JSON, the regions, functions, expansions, and summaries of the
-coverage data will be exported. When exporting an lcov trace file, the
-line-based coverage and summaries will be exported.
-
-The exported data can optionally be filtered to only export the coverage
-for the files listed in *SOURCES*.
-
-For information on compiling programs for coverage and generating profile data,
-see :ref:`llvm-cov-show`.
-
-OPTIONS
-^^^^^^^
-
-.. option:: -arch=<name>
-
- If the covered binary is a universal binary, select the architecture to use.
- It is an error to specify an architecture that is not included in the
- universal binary or to use an architecture that does not match a
- non-universal binary.
-
-.. option:: -format=<FORMAT>
-
- Use the specified output format. The supported formats are: "text" (JSON),
- "lcov".
-
-.. option:: -summary-only
-
- Export only summary information for each file in the coverage data. This mode
- will not export coverage information for smaller units such as individual
- functions or regions. The result will contain the same information as produced
- by the :program:`llvm-cov report` command, but presented in JSON or lcov
- format rather than text.
-
-.. option:: -ignore-filename-regex=<PATTERN>
-
- Skip source code files with file paths that match the given regular expression.