PGO: llvm-profdata: tool for merging profiles

Introducing llvm-profdata, a tool for merging profile data generated by
PGO instrumentation in clang.

- The name indicates a file extension of <name>.profdata.  Eventually
  profile data output by clang should be changed to that extension.

- llvm-profdata merges two profiles.  However, the name is more general,
  since it will likely pick up more tasks (such as summarizing a single
  profile).

- llvm-profdata parses the current text-based format, but will be
  updated once we settle on a binary format.

<rdar://problem/15949645>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201535 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2014-02-17 23:22:49 +00:00
parent 4959a2d878
commit ddc5a010a4
26 changed files with 353 additions and 2 deletions

View File

@@ -25,6 +25,7 @@ Basic Commands
llvm-config
llvm-diff
llvm-cov
llvm-profdata
llvm-stress
llvm-symbolizer

View File

@@ -0,0 +1,29 @@
llvm-profdata - work with profile data
======================================
SYNOPSIS
--------
:program:`llvm-profdata` [-output=output] file1 file2
DESCRIPTION
-----------
The experimental :program:`llvm-profdata` tool reads two profile data files
generated by PGO instrumentation and generates a file with merged data.
The profile data format itself is currently textual.
OPTIONS
-------
.. option:: -output=output
This option selects the output filename. If not specified, output is to
stdout.
EXIT STATUS
-----------
:program:`llvm-profdata` returns 1 if it cannot read input files or there is a
mismatch between their data.