diff options
Diffstat (limited to 'usr.bin/clang/opt/opt.1')
-rw-r--r-- | usr.bin/clang/opt/opt.1 | 197 |
1 files changed, 88 insertions, 109 deletions
diff --git a/usr.bin/clang/opt/opt.1 b/usr.bin/clang/opt/opt.1 index a69bb65..491f0b2 100644 --- a/usr.bin/clang/opt/opt.1 +++ b/usr.bin/clang/opt/opt.1 @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.TH "OPT" "1" "2012-08-16" "3.2" "LLVM" +.TH "OPT" "1" "2013-04-11" "3.3" "LLVM" .SH NAME opt \- LLVM optimizer . @@ -36,78 +36,70 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] \fBopt\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp -The \fBopt\fP 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 -\fBopt\fP depends on whether the \fB\-analyze\fP option is given. +The \fBopt\fP 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 \fBopt\fP depends on whether the \fI\-analyze\fP option is +given. .sp -When \fB\-analyze\fP is specified, \fBopt\fP 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 +When \fI\-analyze\fP is specified, \fBopt\fP 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. .sp -While \fB\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an optimized -output file. The optimizations available via \fBopt\fP depend upon what -libraries were linked into it as well as any additional libraries that have -been loaded with the \fB\-load\fP option. Use the \fB\-help\fP option to determine -what optimizations you can use. +While \fI\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an +optimized output file. The optimizations available via \fBopt\fP depend +upon what libraries were linked into it as well as any additional libraries +that have been loaded with the \fI\%-load\fP option. Use the \fI\-help\fP +option to determine what optimizations you can use. .sp -If \fIfilename\fP is omitted from the command line or is \fI\-\fP, \fBopt\fP reads its -input from standard input. Inputs can be in either the LLVM assembly language -format (.ll) or the LLVM bitcode format (.bc). +If \fBfilename\fP is omitted from the command line or is "\fB\-\fP", \fBopt\fP +reads its input from standard input. Inputs can be in either the LLVM assembly +language format (\fB.ll\fP) or the LLVM bitcode format (\fB.bc\fP). .sp -If an output filename is not specified with the \fB\-o\fP option, \fBopt\fP -writes its output to the standard output. +If an output filename is not specified with the \fI\-o\fP option, +\fBopt\fP writes its output to the standard output. .SH OPTIONS -.sp -\fB\-f\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-f Enable binary output on terminals. Normally, \fBopt\fP will refuse to -write raw bitcode output if the output stream is a terminal. With this option, +write raw bitcode output if the output stream is a terminal. With this option, \fBopt\fP will write raw bitcode regardless of the output device. .UNINDENT -.UNINDENT -.sp -\fB\-help\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-help Print a summary of command line options. .UNINDENT -.UNINDENT -.sp -\fB\-o\fP \fIfilename\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-o <filename> Specify the output filename. .UNINDENT -.UNINDENT -.sp -\fB\-S\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-S Write output in LLVM intermediate language (instead of bitcode). .UNINDENT -.UNINDENT -.sp -\fB\-{passname}\fP .INDENT 0.0 -.INDENT 3.5 -\fBopt\fP provides the ability to run any of LLVM\(aqs optimization or analysis passes -in any order. The \fB\-help\fP 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). -.UNINDENT +.TP +.B \-{passname} +\fBopt\fP provides the ability to run any of LLVM\(aqs optimization or +analysis passes in any order. The \fI\-help\fP 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). .UNINDENT -.sp -\fB\-std\-compile\-opts\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-std\-compile\-opts This is short hand for a standard list of \fIcompile time optimization\fP passes. -This is typically used to optimize the output from the llvm\-gcc front end. It -might be useful for other front end compilers as well. To discover the full set -of options available, use the following command: +This is typically used to optimize the output from the llvm\-gcc front end. It +might be useful for other front end compilers as well. To discover the full +set of options available, use the following command: +.INDENT 7.0 +.INDENT 3.5 .sp .nf .ft C @@ -116,82 +108,70 @@ llvm\-as < /dev/null | opt \-std\-compile\-opts \-disable\-output \-debug\-pass= .fi .UNINDENT .UNINDENT -.sp -\fB\-disable\-inlining\fP -.INDENT 0.0 -.INDENT 3.5 -This option is only meaningful when \fB\-std\-compile\-opts\fP is given. It simply -removes the inlining pass from the standard list. .UNINDENT -.UNINDENT -.sp -\fB\-disable\-opt\fP .INDENT 0.0 -.INDENT 3.5 -This option is only meaningful when \fB\-std\-compile\-opts\fP is given. It disables -most, but not all, of the \fB\-std\-compile\-opts\fP. The ones that remain are -\fB\-verify\fP, \fB\-lower\-setjmp\fP, and \fB\-funcresolve\fP. +.TP +.B \-disable\-inlining +This option is only meaningful when \fI\%-std-compile-opts\fP is given. It +simply removes the inlining pass from the standard list. .UNINDENT +.INDENT 0.0 +.TP +.B \-disable\-opt +This option is only meaningful when \fI\%-std-compile-opts\fP is given. It +disables most, but not all, of the \fI\%-std-compile-opts\fP. The ones that +remain are \fI\-verify\fP, \fI\-lower\-setjmp\fP, and +\fI\-funcresolve\fP. .UNINDENT -.sp -\fB\-strip\-debug\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-strip\-debug This option causes opt to strip debug information from the module before -applying other optimizations. It is essentially the same as \fB\-strip\fP but it -ensures that stripping of debug information is done first. +applying other optimizations. It is essentially the same as \fI\-strip\fP +but it ensures that stripping of debug information is done first. .UNINDENT -.UNINDENT -.sp -\fB\-verify\-each\fP .INDENT 0.0 -.INDENT 3.5 -This option causes opt to add a verify pass after every pass otherwise specified -on the command line (including \fB\-verify\fP). 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. The combination of \fB\-std\-compile\-opts\fP and \fB\-verify\-each\fP -can quickly track down this kind of problem. +.TP +.B \-verify\-each +This option causes opt to add a verify pass after every pass otherwise +specified on the command line (including \fI\-verify\fP). 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. The combination of +\fI\%-std-compile-opts\fP and \fI\%-verify-each\fP can quickly track down +this kind of problem. .UNINDENT -.UNINDENT -.sp -\fB\-profile\-info\-file\fP \fIfilename\fP .INDENT 0.0 -.INDENT 3.5 -Specify the name of the file loaded by the \-profile\-loader option. +.TP +.B \-profile\-info\-file <filename> +Specify the name of the file loaded by the \fB\-profile\-loader\fP option. .UNINDENT -.UNINDENT -.sp -\fB\-stats\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-stats Print statistics. .UNINDENT -.UNINDENT -.sp -\fB\-time\-passes\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-time\-passes Record the amount of time needed for each pass and print it to standard error. .UNINDENT -.UNINDENT -.sp -\fB\-debug\fP .INDENT 0.0 -.INDENT 3.5 -If this is a debug build, this option will enable debug printouts -from passes which use the \fIDEBUG()\fP macro. See the \fBLLVM Programmer\(aqs -Manual\fP, section \fI#DEBUG\fP for more information. +.TP +.B \-debug +If this is a debug build, this option will enable debug printouts from passes +which use the \fBDEBUG()\fP macro. See the \fI\%LLVM Programmer's Manual\fP, section \fB#DEBUG\fP for more information. .UNINDENT -.UNINDENT -.sp -\fB\-load\fP=\fIplugin\fP .INDENT 0.0 +.TP +.B \-load=<plugin> +Load the dynamic object \fBplugin\fP. 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 \fI\-help\fP and \fI\%-load\fP +options together. For example: +.INDENT 7.0 .INDENT 3.5 -Load the dynamic object \fIplugin\fP. 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 \fB\-help\fP and \fB\-load\fP options together. For example: .sp .nf .ft C @@ -200,13 +180,12 @@ opt \-load=plugin.so \-help .fi .UNINDENT .UNINDENT -.sp -\fB\-p\fP +.UNINDENT .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-p Print module after each transformation. .UNINDENT -.UNINDENT .SH EXIT STATUS .sp If \fBopt\fP succeeds, it will exit with 0. Otherwise, if an error @@ -214,6 +193,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2012, LLVM Project +2003-2013, LLVM Project .\" Generated by docutils manpage writer. . |