LLVM-PROFGEN(1)
π LLVM-PROFGEN(1) β the LLVM manual, bestie edition
okay so you found the llvm-profgen page, and honestly? iconic of you. this is the LLVM manual, and we're gonna walk through it together like it's a group chat at 2am. no cap, every flag stays, every path stays, nothing gets skipped. let's get into it π«Ά
β¨ NAME β¨
llvm-profgen β the LLVM SPGO profile generation tool. that's it, that's the whole vibe. it generates profiles. slay.
πΈ SYNOPSIS πΈ
llvm-profgen [commands] [options]
π¦ DESCRIPTION π¦
okay so here's the tea β β the llvm-profgen utility generates a profile data file from given perf script data files, and it does this for sample-based profile guided optimization, aka SPGO. that's the entire job description. it takes your perf script data and turns it into a profile. main character energy fr fr π
π COMMANDS π
so here's the part where you actually have to participate: at least one of these commands is required. not zero. at least one. the tool is not gonna do your homework for you, bestie π
--perfscript=<string[,string,...]>β path of the perf-script trace, the one created by the Linuxperftool with thescriptcommand. heads up tho: the rawperf.datashould be profiled with-b. don't forget the-b, i'm literally begging π--binary=<string[,string,...]>β path of the input profiled binary files. plural. comma-separated. you can absolutely feed it more than one, go off π--output=<string>β path of the output profile file. this is where your beautiful little profile gets written. manifest it β¨
π OPTIONS π
llvm-profgen supports the following options, and yes we're covering every single one, because we do not skip. periodt.
--format=[text|binary|extbinary|compbinary|gcc]β specify the format of the generated profile. the supported<format>values aretext,binary,extbinary,compbinary, andgcc. if you want the full descriptions of what each format actually means, go checkllvm-profdataβ it's got you π«Ά--show-mmap-eventsβ print mmap events. that's it. mmap events. printed. π₯--show-disassemblyβ print disassembled code. for when you wanna see the assembly, bestie, and honestly? valid.--x86-asm-syntax=[att|intel]β specify whether to print assembly code in AT&T syntax β which is the default, no cap β or Intel syntax. so if you say nothing, you get AT&T. that's just the rules π
π Author π
Maintained by the LLVM Team (https://llvm.org/). they're the ones holding this whole thing down, we love them for it β
π Copyright π
2003-2026, LLVM Project
real talk though: remember that at least one command from COMMANDS is required, and remember-bwhen you profile that rawperf.data. the tool is not being mean, it just needs the info π
and that's the whole page, bestie!! LLVM, dated 2026-07-16, page 22 of the manual β you read it, you understood it, you ate. π β¨ no crumbs. go generate some profiles ππ¦πΈ
π¦ where this page comes from
- fedora 44: llvm 22.1.8-4.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm 22.1.8-4.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms