Provided by: llvm-14_14.0.6-20_amd64 bug

NAME

       opt - LLVM optimizer

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  or the analysis results.  The function of opt depends on whether the -analyze option
       is given.

       When -analyze is specified, opt performs various analyses of the input  source.   It  will
       usually  print the results on standard output, but in a few cases, it will print output to
       standard error or generate a file with the analysis output, which is usually done when the
       output is meant for another program.

       While  -analyze  is  not  given,  opt  attempts  to produce an optimized output 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.

       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).

       If an output filename is not specified with the -o option, opt writes its  output  to  the
       standard output.

OPTIONS

       -f     Enable  binary output on terminals.  Normally, opt will refuse to write raw bitcode
              output if the output stream is a terminal.  With this option, opt  will  write  raw
              bitcode regardless of the output device.

       -help  Print a summary of command line options.

       -o <filename>
              Specify the output filename.

       -S     Write output in LLVM intermediate language (instead of bitcode).

       -{passname}
              opt  provides  the  ability to run any of LLVM’s optimization or analysis passes in
              any order.  The -help option lists all the passes available.  The  order  in  which
              the  options  occur  on  the  command line are the order in which they are executed
              (within pass constraints).

       -strip-debug
              This option causes opt to strip debug information from the module  before  applying
              other  optimizations.   It  is  essentially  the same as -strip but it ensures that
              stripping of debug information is done first.

       -verify-each
              This option causes opt to 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.

       -stats Print statistics.

       -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 the LLVM_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 -help and -load options 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.

AUTHOR

       Maintained by the LLVM Team (https://llvm.org/).

COPYRIGHT

       2003-2024, LLVM Project