manpagez: man pages & more
man llvm-profdata(1)
Home | html | info | man
llvm-profdata(1)                     LLVM                     llvm-profdata(1)




NAME

       llvm-profdata - Profile data tool


SYNOPSIS

       llvm-profdata command [args^<i>a|]


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^<i>a|]

   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 canat 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
              entries  in this file are newline-separated. Lines starting with
              a#a are skipped. Entries  may  be  of  the  form  <filename>  or
              <weight>,<filename>.

       -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 GCCas 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 functionas 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 isnat 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-2017, LLVM Project



Apple LLVM 9.0.0                  2017-09-19                  llvm-profdata(1)

Mac OS X 10.12.6 - Generated Sun Oct 29 07:44:40 CDT 2017
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.