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

       -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-08-27		      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-profdata80&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help