llvm-profdata - Profile data tool
=================================

SYNOPSIS
--------

:program:`llvm-profdata` *command* [*args...*]

DESCRIPTION
-----------

The :program:`llvm-profdata` tool is a small utility for working with profile
data files.

COMMANDS
--------

* :ref:`merge <profdata-merge>`
* :ref:`show <profdata-show>`

.. program:: llvm-profdata merge

.. _profdata-merge:

MERGE
-----

SYNOPSIS
^^^^^^^^

:program:`llvm-profdata merge` [*options*] [*filenames...*]

DESCRIPTION
^^^^^^^^^^^

:program:`llvm-profdata merge` takes several profile data files
generated by PGO instrumentation and merges them together into a single
indexed profile data file.

OPTIONS
^^^^^^^

.. option:: -help

 Print a summary of command line options.

.. option:: -output=output, -o=output

 Specify the output file name.  *Output* cannot be ``-`` as the resulting
 indexed profile data can't be written to standard output.

.. option:: -instr (default)

 Specify that the input profile is an instrumentation-based profile.

.. option:: -sample

 Specify that the input profile is a sample-based profile. When using
 sample-based profiles, the format of the generated file can be generated
 in one of three ways:

 .. option:: -binary (default)

 Emit the profile using a binary encoding.

 .. option:: -text

 Emit the profile in text mode.

 .. option:: -gcc

 Emit the profile using GCC's gcov format (Not yet supported).

.. program:: llvm-profdata show

.. _profdata-show:

SHOW
----

SYNOPSIS
^^^^^^^^

:program:`llvm-profdata show` [*options*] [*filename*]

DESCRIPTION
^^^^^^^^^^^

:program:`llvm-profdata show` takes a profile data file and displays the
information about the profile counters for this file and
for any of the specified function(s).

If *filename* is omitted or is ``-``, then **llvm-profdata show** reads its
input from standard input.

OPTIONS
^^^^^^^

.. option:: -all-functions

 Print details for every function.

.. option:: -counts

 Print the counter values for the displayed functions.

.. option:: -function=string

 Print details for a function if the function's name contains the given string.

.. option:: -help

 Print a summary of command line options.

.. option:: -output=output, -o=output

 Specify the output file name.  If *output* is ``-`` or it isn't specified,
 then the output is sent to standard output.

.. option:: -instr (default)

 Specify that the input profile is an instrumentation-based profile.

.. option:: -sample

 Specify that the input profile is a sample-based profile.

EXIT STATUS
-----------

:program:`llvm-profdata` returns 1 if the command is omitted or is invalid,
if it cannot read input files, or if there is a mismatch between their data.
