llvm-profdata - Profile data tool
llvm-profdata command [args...]
LLVM-PROFDATA(1) LLVM LLVM-PROFDATA(1)
NAME
llvm-profdata - Profile data tool
SYNOPSIS
llvm-profdata command [args...]
DESCRIPTION
The llvm-profdata tool is a small utility for working with profile data
files.
COMMANDS
o merge
o show
MERGE
SYNOPSIS
llvm-profdata merge [options] [filename...]
DESCRIPTION
llvm-profdata merge takes several profile data files generated by PGO
instrumentation and merges them together into a single indexed profile
data file.
By default profile data is merged without modification. This means that
the relative importance of each input file is proportional to the num-
ber of samples or counts it contains. In general, the input from a
longer training run will be interpreted as relatively more important
than a shorter run. Depending on the nature of the training runs it may
be useful to adjust the weight given to each input file by using the
-weighted-input option.
OPTIONS
-help Print a summary of command line options.
-output=output, -o=output
Specify the output file name. Output cannot be - as the result-
ing indexed profile data can't be written to standard output.
-weighted-input=weight,filename
Specify an input file name along with a weight. The profile
counts of the input file will be scaled (multiplied) by the sup-
plied weight, where where weight is a decimal integer >= 1.
Input files specified without using this option are assigned a
default weight of 1. Examples are shown below.
-instr (default)
Specify that the input profile is an instrumentation-based pro-
file.
-sample
Specify that the input profile is a sample-based profile.
The format of the generated file can be generated in one of
three ways:
-binary (default)
Emit the profile using a binary encoding. For instrumenta-
tion-based profile the output format is the indexed binary for-
mat.
-text
Emit the profile in text mode. This option can also be used with
both sample-based and instrumentation-based profile. When this
option is used the profile will be dumped in the text format
that is parsable by the profile reader.
-gcc
Emit the profile using GCC's gcov format (Not yet supported).
EXAMPLES
Basic Usage
Merge three profiles:
llvm-profdata merge foo.profdata bar.profdata baz.profdata -output merged.profdata
Weighted Input
The input file foo.profdata is especially important, multiply its
counts by 10:
llvm-profdata merge -weighted-input=10,foo.profdata bar.profdata baz.profdata -output merged.profdata
Exactly equivalent to the previous invocation (explicit form; useful
for programmatic invocation):
llvm-profdata merge -weighted-input=10,foo.profdata -weighted-input=1,bar.profdata -weighted-input=1,baz.profdata -output merged.profdata
SHOW
SYNOPSIS
llvm-profdata show [options] [filename]
DESCRIPTION
llvm-profdata show takes a profile data file and displays the informa-
tion about the profile counters for this file and for any of the speci-
fied function(s).
If filename is omitted or is -, then llvm-profdata show reads its input
from standard input.
OPTIONS
-all-functions
Print details for every function.
-counts
Print the counter values for the displayed functions.
-function=string
Print details for a function if the function's name contains the
given string.
-help Print a summary of command line options.
-output=output, -o=output
Specify the output file name. If output is - or it isn't speci-
fied, then the output is sent to standard output.
-instr (default)
Specify that the input profile is an instrumentation-based pro-
file.
-text Instruct the profile dumper to show profile counts in the text
format of the instrumentation-based profile data representation.
By default, the profile information is dumped in a more human
readable form (also in text) with annotations.
-sample
Specify that the input profile is a sample-based profile.
EXIT STATUS
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.
AUTHOR
Maintained by The LLVM Team (http://llvm.org/).
COPYRIGHT
2003-2016, LLVM Project
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+---------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+---------------------+
|Availability | developer/llvm/llvm |
+---------------+---------------------+
|Stability | Uncommitted |
+---------------+---------------------+
NOTES
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from
https://llvm.org//releases/6.0.0/llvm-6.0.0.src.tar.xz
Further information about this software can be found on the open source
community website at https://llvm.org/.
3.8 2016-07-10 LLVM-PROFDATA(1)