|  | <html> | 
|  | <title> | 
|  | LLVM: opt tool | 
|  | </title> | 
|  |  | 
|  | <body> | 
|  |  | 
|  | <center> | 
|  | <h1>LLVM: opt tool</h1> | 
|  | </center> | 
|  | <HR> | 
|  |  | 
|  | <h3> | 
|  | NAME | 
|  | </h3> | 
|  |  | 
|  | opt | 
|  |  | 
|  | <h3> | 
|  | SYNOPSIS | 
|  | </h3> | 
|  |  | 
|  | opt [options] [filename] | 
|  | <h3> | 
|  | DESCRIPTION | 
|  | </h3> | 
|  |  | 
|  | The opt command is the LLVM optimizer.  It takes LLVM bytecode as input, runs | 
|  | the specified optimizations on it, and then outputs the optimized LLVM | 
|  | bytecode. | 
|  | <p> | 
|  |  | 
|  | 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. | 
|  | <p> | 
|  |  | 
|  | If no filename is specified on the command line, opt reads its input from | 
|  | standard input. | 
|  | <p> | 
|  |  | 
|  | If an output filename is not specified with the -o option, opt writes its | 
|  | output to the standard output. | 
|  | <h3> | 
|  | OPTIONS | 
|  | </h3> | 
|  |  | 
|  | <ul> | 
|  | <li> -f | 
|  | <br> | 
|  | Force overwrite.  Normally, opt will refuse to overwrite an output | 
|  | file that already exists.  With this option, opt will overwrite the | 
|  | output file and replace it with new bytecode. | 
|  | <p> | 
|  |  | 
|  | <li> -help | 
|  | <br> | 
|  | Print a summary of command line options. | 
|  | <p> | 
|  |  | 
|  | <li> -o <filename> | 
|  | <br> | 
|  | Specify the output filename. | 
|  | <p> | 
|  |  | 
|  | <li> -stats | 
|  | <br> | 
|  | Print statistics. | 
|  | <p> | 
|  |  | 
|  | <li> -time-passes | 
|  | <br> | 
|  | Record the amount of time needed for each pass and print it to standard | 
|  | error. | 
|  | <p> | 
|  |  | 
|  | <li> -internalize-public-api-file <filename> | 
|  | <br> | 
|  | Preserve the symbol names listed in the file filename. | 
|  | <p> | 
|  |  | 
|  | <li> -internalize-public-api-list=<list> | 
|  | <br> | 
|  | Perserve the symbol names specified. | 
|  | <p> | 
|  |  | 
|  | <li> -q | 
|  | <br> | 
|  | Quiet mode.  Do not print messages on whether the program was modified. | 
|  | <p> | 
|  |  | 
|  | <li> -load <plugin.so> | 
|  | <br> | 
|  | Load the dynamic object plugin.so.  This object should register new | 
|  | optimization passes.  Once loaded, the object will add new command line | 
|  | options to enable various optimizations.  To see the new complete list | 
|  | of optimizations, use the -help and -load options together: | 
|  | <p> | 
|  | opt -load  <plugin.so> -help | 
|  | <p> | 
|  |  | 
|  | <li> -p | 
|  | <br> | 
|  | Print module after each transformation. | 
|  | <p> | 
|  | </ul> | 
|  |  | 
|  | <h3> | 
|  | EXIT STATUS | 
|  | </h3> | 
|  |  | 
|  | If opt succeeds, it will exit with 0.  Otherwise, if an error occurs, it | 
|  | will exit with a non-zero value. | 
|  |  | 
|  | <h3> | 
|  | SEE ALSO | 
|  | </h3> | 
|  | analyze | 
|  |  | 
|  | <HR> | 
|  | <a href="http://llvm.cs.uiuc.edu">LLVM Team</a> | 
|  | </body> | 
|  | </html> | 
|  |  |