| LLVM-PROFGEN(1) | LLVM | LLVM-PROFGEN(1) |
NAME¶
llvm-profgen - LLVM SPGO profile generation tool
SYNOPSIS¶
llvm-profgen [commands] [options]
DESCRIPTION¶
The 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:
- --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).
- --etm=<string>
- Path of the ETM trace file created by ARM CoreSight trace tools. Requires the OpenCSD library version 1.5.4 or higher to be enabled during the build.
- --perfdata=<perfdata>, --pd
- Path of raw perf data created by Linux perf tool (it should be profiled with -b).
- --unsymbolized-profile=<unsymbolized profile>, --up
- Path of the unsymbolized profile created by llvm-profgen with --skip-symbolization.
- --llvm-sample-profile=<llvm sample profile>
- Path of the LLVM sample profile.
Note:
Only one of --perfscript, --perfdata,
--unsymbolized-profile, --llvm-sample-profile, or --etm
may be specified at a time.
- --binary=<string[,string,...]>
- Path of the input profiled binary files.
- --output=<string>
- Path of the output profile file.
OPTIONS¶
llvm-profgen supports the following options:
- --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.
- --show-mmap-events
- Print mmap events.
- --show-disassembly
- Print disassembled code.
- --x86-asm-syntax=[att|intel]
- Specify whether to print assembly code in AT&T syntax (the default) or Intel syntax.
- --debug-binary=<debug-binary>
- Path of debug info binary. llvm-profgen will load the DWARF info from it instead of the executable binary.
- --target-triple=<triple>
- Override the target triple for the binary. This is useful for ETM trace decoding to specify the correct Arm M-profile target.
- --pid
- Process Id for the profiled executable binary.
- --output=<output>
- Path of the output profile file.
- --data-access-perftrace=<data-access-perftrace>
- File path of a Linux perf raw trace (generated by perf report -D) consisting of memory access events.
Author¶
Maintained by the LLVM Team (https://llvm.org/).
Copyright¶
2003-2026, LLVM Project
| 2026-09-10 | 23 |