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

FreeBSD Manual Pages


home | help

       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.

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

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

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

	      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.

   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.

	      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.

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

	      Show  the	profiled sizes of the memory intrinsic calls for shown

       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 (

       2003-2020, LLVM Project

7				  2020-08-23		      LLVM-PROFDATA(1)


Want to link to this manual page? Use this URL:

home | help