LLVM-PROFGEN(1)

πŸ“¦
version 13.0.1 Β· 5 versions
, in ubuntu jammy

πŸ’… LLVM-PROFGEN(1) β€” the girlies' guide to llvm-profgen

okay so bestie, welcome to llvm-profgen, the LLVM SPGO profile generation tool ✨ (that's a page from the LLVM manual, if u were wondering β€” yes the whole suite, hi πŸ‘‹). Buckle up, it's actually so much simpler than it sounds, i promise 🫢


🌸 SYNOPSIS 🌸

llvm-profgen [commands] [options]

πŸ’– DESCRIPTION πŸ’–

okay so the way that llvm-profgen is literally the profile-making bestie: it takes ur perf script data files and turns them into a profile data file, which u then use for sample-based profile guided optimization (SPGO) πŸ’… no cap, it's giving "I collect the receipts so ur compiler can glow up."


πŸŽ€ COMMANDS πŸŽ€

heads up bestie: u need at least one of these. at least one. don't be shy, pick one (or a few, we're not the cops) ⭐

  • --perfscript=<string[,string,...]> β€” the path (or paths, comma-separated, go off πŸ‘‘) of the perf-script trace. and bestie, this has to be created by the Linux perf tool using the script command β€” and the raw perf.data should be profiled with -b. that part matters, don't skip it πŸ™ˆ
  • --binary=<string[,string,...]> β€” the path(s) of the input profiled binary files. again, comma-separated strings if u have a whole squad of them πŸ’œ
  • --output=<string> β€” the path where ur output profile file goes. this is the main character. this is the whole point 🎯

✨ OPTIONS ✨

llvm-profgen supports these options, and yes we're listing all of them, every single one, i don't play favorites 🫢

  • --format=[text|binary|extbinary|compbinary|gcc] β€” specifies the format of the generated profile. the supported format values are text, binary, extbinary, compbinary, and gcc. and if u want the whole lore on what each format actually means, go check out llvm-profdata β€” that's where the descriptions live, i'm just the messenger πŸ¦‹
  • --show-mmap-events β€” prints mmap events. that's it. that's the vibe. πŸ”
  • --show-disassembly β€” prints disassembled code. read it and weep (affectionately) πŸ’€
  • --x86-asm-syntax=[att|intel] β€” specifies whether to print assembly code in AT&T syntax (the default, bb, it's the icon) or Intel syntax. choose ur fighter πŸ₯Š

πŸ‘‘ AUTHOR πŸ‘‘

maintained by the LLVM Team (https://llvm.org/) β€” absolute legends, no notes πŸ’–


2003-2023, LLVM Project β€” yeah, twenty whole years of this, slay πŸŽ€


okay bestie that's the whole page, u ate that πŸ’… fr fr go generate some profiles. this was LLVM manual page LLVM-PROFGEN(1), dated 2023-07-14, and it's the 13 release πŸ¦‹β­

πŸ“¦ where this page comes from