LLVM-PROFDATA(1)



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.

       Profiles passed in via -weighted-input, -input-files, or via positional
       arguments are processed once for each time they are seen.

   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 supplied filename will be scaled (multiplied) by
              the supplied 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.

       -input-files=path, -f=path
              Specify a file which contains a list of files to merge. The  en-
              tries  in  this  file are newline-separated. Lines starting with
              '#' are skipped. Entries  may  be  of  the  form  <filename>  or
              <weight>,<filename>.

       -remapping-file=path, -r=path
              Specify  a  file which contains a remapping from symbol names in
              the input profile to the symbol names that should be used in the
              output  profile.  The  file  should consist of lines of the form
              <input-symbol> <output-symbol>.  Blank lines and lines  starting
              with # are skipped.

              The  llvm-cxxmap  tool can be used to generate the symbol remap-
              ping file.

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

       -sparse[=true|false]
              Do not emit function records with 0 execution count. Can only be
              used in conjunction with -instr. Defaults to false, since it can
              inhibit compiler optimization during PGO.

       -num-threads=N, -j=N
              Use  N  threads to perform profile merging. When N=0, llvm-prof-
              data auto-detects an appropriate number of threads to use.  This
              is the default.

   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.

       -topn=n
              Instruct the profile dumper to show the top n functions with the
              hottest  basic  blocks  in  the summary section. By default, the
              topn functions are not dumped.

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

       -memop-sizes
              Show the profiled sizes of the memory intrinsic calls for  shown
              functions.

       -value-cutoff=n
              Show  only those functions whose max count values are greater or
              equal to n.  By default, the value-cutoff is set to 0.

       -list-below-cutoff
              Only output names of functions whose max count value  are  below
              the cutoff value.

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 (https://llvm.org/).

COPYRIGHT
       2003-2020, LLVM Project

8                                 2020-03-19                  LLVM-PROFDATA(1)

Man(1) output converted with man2html
list of all man pages