OPT(1)
π«Ά opt(1) β the LLVM optimizer, but make it bestie-coded π«Ά
Okay so this is opt(1) from the LLVM manual, and opt is the main character here: the modular LLVM optimizer and analyzer. No cap.
πΈ NAME πΈ
opt β LLVM optimizer. Periodt.
π¦ SYNOPSIS π¦
opt [options] [filename]
β¨ DESCRIPTION β¨
The opt command is the modular LLVM optimizer and analyzer. It takes LLVM source files as input, runs the specified optimizations or analyses on it, and then outputs the optimized file. The optimizations available via opt depend upon what libraries were linked into it as well as any additional libraries that have been loaded with the -load option. Use the -help option to determine what optimizations you can use. iykyk π
If filename is omitted from the command line or is -, opt reads its input from standard input. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc). Cute, right?
If an output filename is not specified with the -o option, opt writes its output to the standard output. slay β¨
π OPTIONS π
Hereβs the full option menu, bestie β every single one, no skipping. π
-fβ Enable binary output on terminals. Normally,optwill refuse to write raw bitcode output if the output stream is a terminal. With this option,optwill write raw bitcode regardless of the output device. bold move, but okay.-helpβ Print a summary of command line options.-o <filename>β Specify the output filename.-Sβ Write output in LLVM intermediate language (instead of bitcode).-passes=<string>β A textual (comma-separated) description of the pass pipeline, e.g.,-passes="sroa,instcombine". See invoking opt for more details on the pass pipeline syntax.-mtune=<cpuname>β Specify a specific chip microarchitecture in the current architecture to tune code for. By default this is inferred from the target triple and autodetected to the current architecture. For a list of available tuning CPUs, use:
llvm-as < /dev/null | opt -march=xyz -mtune=help
-strip-debugβ This option causesoptto strip debug information from the module before applying other optimizations. It is essentially the same as-stripbut it ensures that stripping of debug information is done first. first things first, bestie.-verify-eachβ This option causesoptto add a verify pass after every pass otherwise specified on the command line (including-verify). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which pass is doing it. detective mode: activated π-statsβ Print statistics.--save-stats,--save-stats=cwd,--save-stats=objβ Save LLVM statistics to a file in the current directory (--save-stats/--save-stats=cwd) or the directory of the output file (--save-stats=obj) in JSON format.-time-passesβ Record the amount of time needed for each pass and print it to standard error.-debugβ If this is a debug build, this option will enable debug printouts from passes which use theLLVM_DEBUG()macro. See the LLVM Programmerβs Manual, section #DEBUG for more information.-load=<plugin>β Load the dynamic object plugin. This object should register new optimization or analysis passes. Once loaded, the object will add new command line options to enable various optimizations or analyses. To see the new complete list of optimizations, use the-helpand-loadoptions together. For example:
opt -load=plugin.so -help
-print-passesβ Print all available passes and exit.
π EXIT STATUS π
If opt succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value. simple, clean, iconic.
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). shoutout to the maintainers π«Ά
π COPYRIGHT π
2003-2026, LLVM Project
This page is LLVM 23, dated 2026-10-06. Bye bestie πβ¨
π¦ where this page comes from
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms