Scroll to navigation

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:

Path of perf-script trace created by Linux perf tool with script command(the raw perf.data should be profiled with -b).

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.

Path of raw perf data created by Linux perf tool (it should be profiled with -b).

Path of the unsymbolized profile created by llvm-profgen with --skip-symbolization.

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.


Path of the input profiled binary files.

Path of the output profile file.

OPTIONS

llvm-profgen supports the following options:

Specify the format of the generated profile. Supported <format> are text, binary, extbinary, compbinary, gcc, see llvm-profdata for more descriptions of the format.

Print mmap events.

Print disassembled code.

Specify whether to print assembly code in AT&T syntax (the default) or Intel syntax.

Path of debug info binary. llvm-profgen will load the DWARF info from it instead of the executable binary.

Override the target triple for the binary. This is useful for ETM trace decoding to specify the correct Arm M-profile target.

Process Id for the profiled executable binary.

Path of the output profile file.

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