Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

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

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-2018, LLVM Project

7				  2018-08-02		      LLVM-PROFDATA(1)

NAME | SYNOPSIS | DESCRIPTION | COMMANDS | MERGE | SHOW | EXIT STATUS | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=llvm-profdata&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help