LLVM-PROFGEN(1)

πŸ’– LLVM-PROFGEN(1) πŸ’–

okay bestie, welcome to the llvm-profgen page β€” it lives in the LLVM manual, section 1, and it's literally the SPGO profile generator. sit down, hydrate, let's go 🫢


✨ NAME ✨

llvm-profgen β€” the LLVM SPGO profile generation tool πŸŽ€


🌸 SYNOPSIS 🌸

llvm-profgen [commands] [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

So the way that llvm-profgen works is: it takes perf script data files you hand it and generates a profile data file from them, for sample-based profile guided optimization β€” that's SPGO if you're being brief. it's giving compiler-nerd glow-up, no cap. πŸ”₯


πŸ‘‘ COMMANDS πŸ‘‘

not optional, bestie β€” you need at least one of these. it's giving "required", because it is. πŸ’…

  • --perfscript=<string[,string,...]> β€” the path of the perf-script trace, the one the Linux perf tool made with the script command. heads up though: the raw perf.data had to have been profiled with -b. πŸ“
  • --binary=<string[,string,...]> β€” the path(s) of the input profiled binary file(s).
  • --output=<string> β€” the path of the output profile file.

πŸ’… OPTIONS πŸ’…

llvm-profgen supports these, and yes we're listing every single one:

  • --format=[text|binary|extbinary|compbinary|gcc] β€” pick the format of the generated profile. the supported <format> values are text, binary, extbinary, compbinary and gcc β€” and if you want the full tea on what those formats actually mean, check llvm-profdata, it spills it. ✨
  • --show-mmap-events β€” prints mmap events. πŸ‘€
  • --show-disassembly β€” prints disassembled code.
  • --x86-asm-syntax=[att|intel] β€” choose whether the assembly code gets printed in AT&T syntax (which is the default, btw) or Intel syntax.

🌈 AUTHOR 🌈

maintained by the LLVM Team</u> β€” https://llvm.org/ 🫢


2003-2025, LLVM Project


and that's the whole page, bestie β€” mwah πŸ’‹ this was LLVM-PROFGEN(1) from the LLVM manual, page 20, dated 2025-09-03. periodt. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from