LLVM-EXTRACT(1)
π NAME π
okay bestie, welcome to LLVM-EXTRACT(1) in the LLVM manual β this page is all about llvm-extract, aka the tool that will extract a function from an LLVM module. π«Άβ¨
β¨ SYNOPSIS β¨
llvm-extract [options] --func function-name [filename]
that's the whole shape of it: options first, then --func function-name, then the optional [filename]. π
π DESCRIPTION π
okay so picture this: the llvm-extract command takes the name of a function and extracts it from the specified LLVM bitcode file. It's primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug. ππ₯
and it's not just a grab-and-go situation β in addition to extracting the bitcode of the specified function, llvm-extract will also remove unreachable global variables, prototypes, and unused types. cleanup era fr fr. β¨
input/output vibe check: llvm-extract reads its input from standard input if filename is omitted or if filename is -. The output is always written to standard output, unless the -o option is specified (see below). π
π OPTIONS π
--aliasalias-name β Extract the alias named function-name from the LLVM bitcode. May be specified multiple times to extract multiple alias at once. (yes, the page says function-name here β keeping it exactly as the manpage has it π«Ά)--raliasalias-regular-expr β Extract the alias matching alias-regular-expr from the LLVM bitcode. All alias matching the regular expression will be extracted. May be specified multiple times.--bbbasic-block-specifier β Extract basic blocks(s) specified in basic-block-specifier. May be specified multiple times. Each<function:bb[;bb]>specifier pair will create a function. If multiple basic blocks are specified in one pair, the first block in the sequence should dominate the rest. domination rule, periodt.--deleteβ Delete specified Globals from Module.-fβ Enable binary output on terminals. Normally,llvm-extractwill refuse to write raw bitcode output if the output stream is a terminal. With this option,llvm-extractwill write raw bitcode regardless of the output device. terminal override unlocked π₯--funcfunction-name β Extract the function named function-name from the LLVM bitcode. May be specified multiple times to extract multiple functions at once.--rfuncfunction-regular-expr β Extract the function(s) matching function-regular-expr from the LLVM bitcode. All functions matching the regular expression will be extracted. May be specified multiple times.--globglobal-name β Extract the global variable named global-name from the LLVM bitcode. May be specified multiple times to extract multiple global variables at once.--rglobglob-regular-expr β Extract the global variable(s) matching global-regular-expr from the LLVM bitcode. All global variables matching the regular expression will be extracted. May be specified multiple times. (the option arg says glob-regular-expr and the description says global-regular-expr β both are in the original, bestie π)--keep-const-initβ Preserve the values of constant globals.--recursiveβ Recursively extract all called functions.-helpβ Print a summary of command line options.-ofilename β Specify the output filename. If filename is-(the default), thenllvm-extractsends its output to standard output.-Sβ Write output in LLVM intermediate language (instead of bitcode).
π EXIT STATUS π
If llvm-extract succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value. no cap, that's the whole status tea. ββ¨
π¦ SEE ALSO π¦
go give bugpoint(1) some love too π«Ά
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). π
π COPYRIGHT π
2003-2023, LLVM Project.
okay that's the whole page, bestie β signing off from LLVM-EXTRACT(1) in the LLVM manual, version 15, dated 2023-01-14 πβ¨π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: llvm15 15.0.7-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm15 15.0.7-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm15 15.0.7-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm15 15.0.7-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms