Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Thursday, June 13, 2019

llvm-profdata (1)


llvm-profdata - Profile data tool


llvm-profdata command [args...]


LLVM-PROFDATA(1)                     LLVM                     LLVM-PROFDATA(1)

       llvm-profdata - Profile data tool

       llvm-profdata command [args...]

       The llvm-profdata tool is a small utility for working with profile data

       o merge

       o show

       llvm-profdata merge [options] [filename...]

       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.

       -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.

              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-

              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-


              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.


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

   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

       llvm-profdata show [options] [filename]

       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.

              Print details for every function.

              Print the counter values for the displayed functions.

              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-

       -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.

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

       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.

       Maintained by The LLVM Team (http://llvm.org/).

       2003-2016, LLVM Project

       See attributes(7) for descriptions of the following attributes:

       |Availability   | developer/llvm/llvm |
       |Stability      | Uncommitted         |
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from

       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)