| llvm-profgen - LLVM SPGO profile generation tool |
| ================================================ |
| |
| .. program:: llvm-profgen |
| |
| SYNOPSIS |
| -------- |
| |
| :program:`llvm-profgen` [*commands*] [*options*] |
| |
| DESCRIPTION |
| ----------- |
| |
| The :program:`llvm-profgen` utility generates a profile data file |
| from given perf script data files for sample-based profile guided |
| optimization(SPGO). |
| |
| COMMANDS |
| -------- |
| At least one of the following commands are required: |
| |
| .. option:: --perfscript=<string[,string,...]> |
| |
| Path of perf-script trace created by Linux perf tool with `script` |
| command(the raw perf.data should be profiled with -b). |
| |
| .. option:: --perfdata=<perfdata>, --pd |
| |
| Path of raw perf data created by Linux perf tool (it should be profiled |
| with -b). |
| |
| .. option:: --unsymbolized-profile=<unsymbolized profile>, --up |
| |
| Path of the unsymbolized profile created by ``llvm-profgen`` with |
| ``--skip-symbolization``. |
| |
| .. option:: --llvm-sample-profile=<llvm sample profile> |
| |
| Path of the LLVM sample profile. |
| |
| .. note:: |
| |
| Only one of ``--perfscript``, ``--perfdata``, ``--unsymbolized-profile``, |
| or ``--llvm-sample-profile`` may be specified at a time. |
| |
| .. option:: --binary=<string[,string,...]> |
| |
| Path of the input profiled binary files. |
| |
| .. option:: --output=<string> |
| |
| Path of the output profile file. |
| |
| |
| OPTIONS |
| ------- |
| :program:`llvm-profgen` supports the following options: |
| |
| .. option:: --format=[text|binary|extbinary|compbinary|gcc] |
| |
| Specify the format of the generated profile. Supported <format> are `text`, |
| `binary`, `extbinary`, `compbinary`, `gcc`, see `llvm-profdata` for more |
| descriptions of the format. |
| |
| .. option:: --show-mmap-events |
| |
| Print mmap events. |
| |
| .. option:: --show-disassembly |
| |
| Print disassembled code. |
| |
| .. option:: --x86-asm-syntax=[att|intel] |
| |
| Specify whether to print assembly code in AT&T syntax (the default) or Intel |
| syntax. |
| |
| .. option:: --debug-binary=<debug-binary> |
| |
| Path of debug info binary. ``llvm-profgen`` will load the DWARF info from |
| it instead of the executable binary. |
| |
| .. option:: --pid |
| |
| Process Id for the profiled executable binary. |
| |
| .. option:: --output=<output> |
| |
| Path of the output profile file. |
| |
| .. option:: --data-access-perftrace=<data-access-perftrace> |
| |
| File path of a Linux perf raw trace (generated by ``perf report -D``) |
| consisting of memory access events. |
| |