LLVM-PROFGEN(1)

πŸ“¦
version 16.0.6 Β· 3 versions
, in ubuntu noble

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

okay bestie, so this is llvm-profgen from the LLVM fam β€” and before you ask, yes, this is the manual page, and yes, I'm gonna walk you through every single flag because I'm obsessed with you understanding it. no skimming, no vibes-only learning, we're doing this properly. 🫢


✨ NAME ✨

llvm-profgen β€” the LLVM SPGO profile generation tool. that's it, that's the name, it's giving "short and powerful". πŸ’…


🌸 SYNOPSIS 🌸

llvm-profgen [commands] [options]

literally just commands and options, she's lowkey simple like that. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

The llvm-profgen utility generates a profile data file from given perf script data files for sample-based profile guided optimization, aka SPGO. so it takes your perf script data, does its little magic, and hands you back a profile file. iconic behaviour, no cap. πŸ‘‘


πŸŽ€ COMMANDS πŸŽ€

bestie, listen β€” at least one of the following commands are required. not optional. not "if you feel like it". at least one, periodt. πŸ’€

  • --perfscript=<string[,string,...]> β€” path of the perf-script trace, and it's the one created by the Linux perf tool with the script command. heads up though: the raw perf.data should be profiled with -b. don't forget the -b, I'm begging. πŸ™ˆ
  • --binary=<string[,string,...]> β€” path of the input profiled binary files. yeah, the binaries you profiled, those ones. 🌈
  • --output=<string> β€” path of the output profile file. where your little profile baby gets born. πŸ“

πŸ’œ OPTIONS πŸ’œ

llvm-profgen supports the following options β€” and yes, we're listing all of them, every single one, because every single one matters. πŸ’…

  • --format=[text|binary|extbinary|compbinary|gcc] β€” specify the format of the generated profile. the supported <format> values are text, binary, extbinary, compbinary, and gcc β€” and if you wanna know more about what each format actually means, go check out llvm-profdata, because that's where the descriptions live. iykyk. πŸ“–
  • --show-mmap-events β€” print mmap events. yes, it just prints them. sometimes you just wanna see the mmap events, and honestly? valid. πŸ”₯
  • --show-disassembly β€” print disassembled code. assembly girlies rise up. πŸ’€
  • --x86-asm-syntax=[att|intel] β€” specify whether to print assembly code in AT&T syntax (which is the default, btw, so if you say nothing you're getting AT&T) or Intel syntax. pick your fighter. βš”οΈ
real talk: att is the default. if you want intel you have to say you want intel. the assembly won't just guess for you, bestie. 🧚

🌟 AUTHOR 🌟

Maintained by the LLVM Team (https://llvm.org/). they're the main characters, we're just reading their docs. πŸ‘‘


2003-2024, LLVM Project. all the rights, all the years, all the respect. πŸ’–


and that's the whole page, bestie!! πŸŽ‰ every command, every option, every default, every path, nothing skipped, nothing merged, nothing invented. you ate that. πŸ’…βœ¨

one last lil sign-off: this page is version 15, dated 2024-04-14, from the LLVM Project β€” mwah, go profile something gorgeous. πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from