diff --git a/usr.bin/clang/bugpoint/bugpoint.1 b/usr.bin/clang/bugpoint/bugpoint.1 index 0590b79be43b..36b0aed1723b 100644 --- a/usr.bin/clang/bugpoint/bugpoint.1 +++ b/usr.bin/clang/bugpoint/bugpoint.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "BUGPOINT" "1" "2015-05-30" "3.7" "LLVM" +.TH "BUGPOINT" "1" "2016-03-03" "3.8" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool . @@ -288,6 +288,6 @@ opt|opt .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/clang/clang.1 b/usr.bin/clang/clang/clang.1 index 24207222575b..5fcc9ac7c20b 100644 --- a/usr.bin/clang/clang/clang.1 +++ b/usr.bin/clang/clang/clang.1 @@ -1,403 +1,584 @@ .\" $FreeBSD$ -.Dd February 25, 2015 -.Dt CLANG 1 -.Os -.Sh NAME -.Nm clang -.Nd the Clang C, C++, and Objective-C compiler -.Sh SYNOPSIS -.Nm clang -.Oo -.Fl c Ns | Ns Fl S Ns | Ns Fl E Ns -.Oc -.Ar std= Ns Em standard -.Fl g -.br -.Oo -.Fl O0 Ns | Ns Fl O1 Ns | Ns Fl O2 Ns | Ns Fl O3 Ns | Ns Fl Ofast Ns | Ns Fl Os Ns | Ns Fl Oz Ns | Ns Fl O Ns | Ns Fl O4 Ns -.Oc -.br -.Fl W Ns Em warnings... -.Fl pedantic -.br -.Fl I Ns Em dir... -.Fl L Ns Em dir... -.br -.Fl D Ns Em macro[=defn] -.br -.Fl f Ns Em feature-option... -.br -.Fl m Ns Em machine-option... -.br -.Fl o -.Em output-file -.br -.Ar stdlib= Ns Em library -.br -.Em input-filenames -.Sh DESCRIPTION -.Sy clang -is a C, C++, and Objective-C compiler which encompasses preprocessing, -parsing, optimization, code generation, assembly, and linking. Depending on -which high-level mode setting is passed, Clang will stop before doing a full -link. While Clang is highly integrated, it is important to understand the -stages of compilation, to understand how to invoke it. These stages are: -.Bl -tag -width Ds -.It Sy Driver -The -.Sy clang -executable is actually a small driver which controls the overall -execution of other tools such as the compiler, assembler and linker. Typically -you do not need to interact with the driver, but you transparently use it to run -the other tools. -.It Sy Preprocessing +.\" Man page generated from reStructuredText. +. +.TH "CLANG" "1" "March 04, 2016" "3.8" "Clang" +.SH NAME +clang \- the Clang C, C++, and Objective-C compiler +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.sp +\fBclang\fP [\fIoptions\fP] \fIfilename ...\fP +.SH DESCRIPTION +.sp +\fBclang\fP is a C, C++, and Objective\-C compiler which encompasses +preprocessing, parsing, optimization, code generation, assembly, and linking. +Depending on which high\-level mode setting is passed, Clang will stop before +doing a full link. While Clang is highly integrated, it is important to +understand the stages of compilation, to understand how to invoke it. These +stages are: +.INDENT 0.0 +.TP +.B Driver +The clang executable is actually a small driver which controls the overall +execution of other tools such as the compiler, assembler and linker. +Typically you do not need to interact with the driver, but you +transparently use it to run the other tools. +.TP +.B Preprocessing This stage handles tokenization of the input source file, macro expansion, -#include expansion and handling of other preprocessor directives. The output of -this stage is typically called a ".i" (for C), ".ii" (for C++), ".mi" (for -Objective-C) , or ".mii" (for Objective-C++) file. -.It Sy Parsing and Semantic Analysis -This stage parses the input file, translating preprocessor tokens into a parse -tree. Once in the form of a parser tree, it applies semantic analysis to compute -types for expressions as well and determine whether the code is well formed. This -stage is responsible for generating most of the compiler warnings as well as -parse errors. The output of this stage is an "Abstract Syntax Tree" (AST). -.It Sy Code Generation and Optimization -This stage translates an AST into low-level intermediate code (known as "LLVM -IR") and ultimately to machine code. This phase is responsible for optimizing -the generated code and handling target-specific code generation. The output of -this stage is typically called a ".s" file or "assembly" file. -.Pp +#include expansion and handling of other preprocessor directives. The +output of this stage is typically called a ".i" (for C), ".ii" (for C++), +".mi" (for Objective\-C), or ".mii" (for Objective\-C++) file. +.TP +.B Parsing and Semantic Analysis +This stage parses the input file, translating preprocessor tokens into a +parse tree. Once in the form of a parse tree, it applies semantic +analysis to compute types for expressions as well and determine whether +the code is well formed. This stage is responsible for generating most of +the compiler warnings as well as parse errors. The output of this stage is +an "Abstract Syntax Tree" (AST). +.TP +.B Code Generation and Optimization +This stage translates an AST into low\-level intermediate code (known as +"LLVM IR") and ultimately to machine code. This phase is responsible for +optimizing the generated code and handling target\-specific code generation. +The output of this stage is typically called a ".s" file or "assembly" file. +.sp Clang also supports the use of an integrated assembler, in which the code -generator produces object files directly. This avoids the overhead of generating -the ".s" file and of calling the target assembler. -.It Sy Assembler -This stage runs the target assembler to translate the output of the compiler -into a target object file. The output of this stage is typically called a ".o" -file or "object" file. -.It Sy Linker +generator produces object files directly. This avoids the overhead of +generating the ".s" file and of calling the target assembler. +.TP +.B Assembler +This stage runs the target assembler to translate the output of the +compiler into a target object file. The output of this stage is typically +called a ".o" file or "object" file. +.TP +.B Linker This stage runs the target linker to merge multiple object files into an -executable or dynamic library. The output of this stage is typically called an -"a.out", ".dylib" or ".so" file. -.El -.Pp -The Clang compiler supports a large number of options to control each of these -stages. In addition to compilation of code, Clang also supports other tools: -.Pp -.Sy Clang Static Analyzer -.Pp +executable or dynamic library. The output of this stage is typically called +an "a.out", ".dylib" or ".so" file. +.UNINDENT +.sp +\fBClang Static Analyzer\fP +.sp The Clang Static Analyzer is a tool that scans source code to try to find bugs -through code analysis. This tool uses many parts of Clang and is built into the -same driver. Please see -.Lk http://clang-analyzer.llvm.org -for more details +through code analysis. This tool uses many parts of Clang and is built into +the same driver. Please see <\fI\%http://clang\-analyzer.llvm.org\fP> for more details on how to use the static analyzer. -.Sh OPTIONS -.Ss Stage Selection Options -.Bl -tag -width Ds -.It Sy -E +.SH OPTIONS +.SS Stage Selection Options +.INDENT 0.0 +.TP +.B \-E Run the preprocessor stage. -.It Sy -fsyntax-only +.UNINDENT +.INDENT 0.0 +.TP +.B \-fsyntax\-only Run the preprocessor, parser and type checking stages. -.It Sy -S -Run the previous stages as well as LLVM generation and optimization stages and -target-specific code generation, producing an assembly file. -.It Sy -c +.UNINDENT +.INDENT 0.0 +.TP +.B \-S +Run the previous stages as well as LLVM generation and optimization stages +and target\-specific code generation, producing an assembly file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c Run all of the above, plus the assembler, generating a target ".o" object file. -.It Sy no stage selection option +.UNINDENT +.INDENT 0.0 +.TP +.B no stage selection option If no stage selection option is specified, all stages above are run, and the linker is run to combine the results into an executable or shared library. -.El -.Ss Language Selection and Mode Options -.Bl -tag -width Ds -.It Sy -x Em language -Treat subsequent input files as having type -.Em language . -.It Sy -std Ns = Ns Em language +.UNINDENT +.SS Language Selection and Mode Options +.INDENT 0.0 +.TP +.B \-x +Treat subsequent input files as having type language. +.UNINDENT +.INDENT 0.0 +.TP +.B \-std= Specify the language standard to compile for. -.It Sy -stdlib Ns = Ns Em library +.UNINDENT +.INDENT 0.0 +.TP +.B \-stdlib= Specify the C++ standard library to use; supported options are libstdc++ and libc++. -.It Sy -ansi -Same as -.Sy -std=c89 . -.It Sy -ObjC++ -Treat source input files as Objective-C++ inputs. -.It Sy -ObjC -Treat source input files as Objective-C inputs. -.It Sy -trigraphs +.UNINDENT +.INDENT 0.0 +.TP +.B \-ansi +Same as \-std=c89. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ObjC, \-ObjC++ +Treat source input files as Objective\-C and Object\-C++ inputs respectively. +.UNINDENT +.INDENT 0.0 +.TP +.B \-trigraphs Enable trigraphs. -.It Sy -ffreestanding +.UNINDENT +.INDENT 0.0 +.TP +.B \-ffreestanding Indicate that the file should be compiled for a freestanding, not a hosted, environment. -.It Sy -fno-builtin -Disable special handling and optimizations of builtin functions like strlen and -malloc. -.It Sy -fmath-errno -Indicate that math functions should be treated as updating errno. -.It Sy -fpascal-strings -Enable support for Pascal-style strings with "\epfoo". -.It Sy -fms-extensions +.UNINDENT +.INDENT 0.0 +.TP +.B \-fno\-builtin +Disable special handling and optimizations of builtin functions like +\fBstrlen()\fP and \fBmalloc()\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fmath\-errno +Indicate that math functions should be treated as updating \fBerrno\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fpascal\-strings +Enable support for Pascal\-style strings with "\epfoo". +.UNINDENT +.INDENT 0.0 +.TP +.B \-fms\-extensions Enable support for Microsoft extensions. -.It Sy -fmsc-version= +.UNINDENT +.INDENT 0.0 +.TP +.B \-fmsc\-version= Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise. -.It Sy -fborland-extensions +.UNINDENT +.INDENT 0.0 +.TP +.B \-fborland\-extensions Enable support for Borland extensions. -.It Sy -fwritable-strings +.UNINDENT +.INDENT 0.0 +.TP +.B \-fwritable\-strings Make all string literals default to writable. This disables uniquing of strings and other optimizations. -.It Sy -flax-vector-conversions +.UNINDENT +.INDENT 0.0 +.TP +.B \-flax\-vector\-conversions Allow loose type checking rules for implicit vector conversions. -.It Sy -fblocks +.UNINDENT +.INDENT 0.0 +.TP +.B \-fblocks Enable the "Blocks" language feature. -.It Sy -fobjc-gc-only -Indicate that Objective-C code should be compiled in GC-only mode, which only -works when Objective-C Garbage Collection is enabled. -.It Sy -fobjc-gc -Indicate that Objective-C code should be compiled in hybrid-GC mode, which works -with both GC and non-GC mode. -.It Sy -fobjc-abi-version Ns = Ns Em version -Select the Objective-C ABI version to use. Available versions are 1 (legacy -"fragile" ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2). -.It Sy -fobjc-nonfragile-abi-version Ns = Ns Em version -Select the Objective-C non-fragile ABI version to use by default. This will only -be used as the Objective-C ABI when the non-fragile ABI is enabled (either via --fobjc-nonfragile-abi, or because it is the platform default). -.It Sy -fobjc-nonfragile-abi -Enable use of the Objective-C non-fragile ABI. On platforms for which this is -the default ABI, it can be disabled with -.Sy -fno-objc-nonfragile-abi . -.El -.Ss Target Selection Options +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-gc\-only +Indicate that Objective\-C code should be compiled in GC\-only mode, which only +works when Objective\-C Garbage Collection is enabled. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-gc +Indicate that Objective\-C code should be compiled in hybrid\-GC mode, which +works with both GC and non\-GC mode. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-abi\-version=version +Select the Objective\-C ABI version to use. Available versions are 1 (legacy +"fragile" ABI), 2 (non\-fragile ABI 1), and 3 (non\-fragile ABI 2). +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-nonfragile\-abi\-version= +Select the Objective\-C non\-fragile ABI version to use by default. This will +only be used as the Objective\-C ABI when the non\-fragile ABI is enabled +(either via \fI\%\-fobjc\-nonfragile\-abi\fP, or because it is the platform +default). +.UNINDENT +.INDENT 0.0 +.TP +.B \-fobjc\-nonfragile\-abi +Enable use of the Objective\-C non\-fragile ABI. On platforms for which this is +the default ABI, it can be disabled with \fB\-fno\-objc\-nonfragile\-abi\fP\&. +.UNINDENT +.SS Target Selection Options +.sp Clang fully supports cross compilation as an inherent part of its design. -Depending on how your version of Clang is configured, it may have support for -a number of cross compilers, or may only support a native target. -.Bl -tag -width Ds -.It Sy -arch Em architecture +Depending on how your version of Clang is configured, it may have support for a +number of cross compilers, or may only support a native target. +.INDENT 0.0 +.TP +.B \-arch Specify the architecture to build for. -.It Sy -mmacosx-version-min Ns = Ns Em version +.UNINDENT +.INDENT 0.0 +.TP +.B \-mmacosx\-version\-min= When building for Mac OS X, specify the minimum version supported by your application. -.It Sy -miphoneos-version-min +.UNINDENT +.INDENT 0.0 +.TP +.B \-miphoneos\-version\-min When building for iPhone OS, specify the minimum version supported by your application. -.It Sy -march Ns = Ns Em cpu -Specify that Clang should generate code for a specific processor family member -and later. For example, if you specify -march=i486, the compiler is allowed to -generate instructions that are valid on i486 and later processors, but which -may not exist on earlier ones. -.El -.Ss Code Generation Options -.Bl -tag -width Ds -.It Sy -O0 Sy -O1 Sy -O2 Sy -O3 Sy -Ofast Sy -\&Os Sy -\&Oz Sy -O Sy -O4 +.UNINDENT +.INDENT 0.0 +.TP +.B \-march= +Specify that Clang should generate code for a specific processor family +member and later. For example, if you specify \-march=i486, the compiler is +allowed to generate instructions that are valid on i486 and later processors, +but which may not exist on earlier ones. +.UNINDENT +.SS Code Generation Options +.INDENT 0.0 +.TP +.B \-O0, \-O1, \-O2, \-O3, \-Ofast, \-Os, \-Oz, \-O, \-O4 Specify which optimization level to use: -.Bl -tag -width Ds -.It Sy -O0 -Means "no optimization": this level compiles the fastest and +.INDENT 7.0 +.INDENT 3.5 +\fI\%\-O0\fP Means "no optimization": this level compiles the fastest and generates the most debuggable code. -.It Sy -O1 -Somewhere between -.Sy -O0 -and -.Sy -O2 . -.It Sy -O2 -Moderate level of optimization which enables most optimizations. -.It Sy -O3 -Like -.Sy -O2 , -except that it enables optimizations that take longer to perform -or that may generate larger code (in an attempt to make the program run faster). -.It Sy -Ofast -Enables all the optimizations from -.Sy -O3 -along with other aggressive -optimizations that may violate strict compliance with language standards. -.It Sy -\&Os -Like -.Sy -O2 -with extra optimizations to reduce code size. -.It Sy -\&Oz -Like -.Sy -\&Os -(and thus -.Sy -O2 Ns ), but reduces code size further. -.It Sy -O -Equivalent to -.Sy -O2 . -.It Sy -O4 No and higher -Currently equivalent to -.Sy -O3 -.El -.It Sy -g -Generate debug information. Note that Clang debug information works best at -.Sy -O0 . -.It Sy -fstandalone-debug Sy -fno-standalone-debug +.sp +\fI\%\-O1\fP Somewhere between \fI\%\-O0\fP and \fI\%\-O2\fP\&. +.sp +\fI\%\-O2\fP Moderate level of optimization which enables most +optimizations. +.sp +\fI\%\-O3\fP Like \fI\%\-O2\fP, except that it enables optimizations that +take longer to perform or that may generate larger code (in an attempt to +make the program run faster). +.sp +\fI\%\-Ofast\fP Enables all the optimizations from \fI\%\-O3\fP along +with other aggressive optimizations that may violate strict compliance with +language standards. +.sp +\fI\%\-Os\fP Like \fI\%\-O2\fP with extra optimizations to reduce code +size. +.sp +\fI\%\-Oz\fP Like \fI\%\-Os\fP (and thus \fI\%\-O2\fP), but reduces code +size further. +.sp +\fI\%\-O\fP Equivalent to \fI\%\-O2\fP\&. +.sp +\fI\%\-O4\fP and higher +.INDENT 0.0 +.INDENT 3.5 +Currently equivalent to \fI\%\-O3\fP +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B \-g +Generate debug information. Note that Clang debug information works best at \-O0. +.UNINDENT +.INDENT 0.0 +.TP +.B \-gmodules +Generate debug information that contains external references to +types defined in clang modules or precompiled headers instead of +emitting redundant debug type information into every object file. +This option implies \fB\-fmodule\-format=obj\fP\&. +.sp +This option should not be used when building static libraries for +distribution to other machines because the debug info will contain +references to the module cache on the machine the object files in +the library were built on. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fstandalone\-debug \-fno\-standalone\-debug Clang supports a number of optimizations to reduce the size of debug information in the binary. They work based on the assumption that the -debug type information can be spread out over multiple compilation -units. For instance, Clang will not emit type definitions for types -that are not needed by a module and could be replaced with a forward -declaration. Further, Clang will only emit type info for a dynamic -C++ class in the module that contains the vtable for the class. -.Pp -The -.Sy -fstandalone-debug -option turns off these optimizations. This -is useful when working with 3rd-party libraries that don't come with -debug information. This is the default on Darwin. Note that Clang -will never emit type information for types that are not referenced at -all by the program. -.It Sy -fexceptions -Enable generation of unwind information, this allows exceptions to be thrown -through Clang compiled stack frames. This is on by default in x86-64. -.It Sy -ftrapv +debug type information can be spread out over multiple compilation units. +For instance, Clang will not emit type definitions for types that are not +needed by a module and could be replaced with a forward declaration. +Further, Clang will only emit type info for a dynamic C++ class in the +module that contains the vtable for the class. +.sp +The \fB\-fstandalone\-debug\fP option turns off these optimizations. +This is useful when working with 3rd\-party libraries that don\(aqt come with +debug information. This is the default on Darwin. Note that Clang will +never emit type information for types that are not referenced at all by the +program. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fexceptions +Enable generation of unwind information. This allows exceptions to be thrown +through Clang compiled stack frames. This is on by default in x86\-64. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftrapv Generate code to catch integer overflow errors. Signed integer overflow is -undefined in C, with this flag, extra code is generated to detect this and abort -when it happens. -.It Sy -fvisibility +undefined in C. With this flag, extra code is generated to detect this and +abort when it happens. +.UNINDENT +.INDENT 0.0 +.TP +.B \-fvisibility This flag sets the default visibility level. -.It Sy -fcommon -This flag specifies that variables without initializers get common linkage. It -can be disabled with -.Sy -fno-common . -.It Sy -ftls-model -Set the default thread-local storage (TLS) model to use for thread-local -variables. Valid values are: "global-dynamic", "local-dynamic", "initial-exec" -and "local-exec". The default is "global-dynamic". The default model can be -overridden with the tls_model attribute. The compiler will try to choose a more -efficient model if possible. -.It Sy -flto Sy -emit-llvm -Generate output files in LLVM formats, suitable for link time optimization. When -used with -.Sy -S -this generates LLVM intermediate language assembly files, -otherwise this generates LLVM bitcode format object files (which may be passed -to the linker depending on the stage selection options). -.El -.Ss Driver Options -.Bl -tag -width Ds -.It Sy -### +.UNINDENT +.INDENT 0.0 +.TP +.B \-fcommon +This flag specifies that variables without initializers get common linkage. +It can be disabled with \fB\-fno\-common\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftls\-model= +Set the default thread\-local storage (TLS) model to use for thread\-local +variables. Valid values are: "global\-dynamic", "local\-dynamic", +"initial\-exec" and "local\-exec". The default is "global\-dynamic". The default +model can be overridden with the tls_model attribute. The compiler will try +to choose a more efficient model if possible. +.UNINDENT +.INDENT 0.0 +.TP +.B \-flto, \-emit\-llvm +Generate output files in LLVM formats, suitable for link time optimization. +When used with \fI\%\-S\fP this generates LLVM intermediate language +assembly files, otherwise this generates LLVM bitcode format object files +(which may be passed to the linker depending on the stage selection options). +.UNINDENT +.SS Driver Options +.INDENT 0.0 +.TP +.B \-### Print (but do not run) the commands to run for this compilation. -.It Sy --help +.UNINDENT +.INDENT 0.0 +.TP +.B \-\-help Display available options. -.It Sy -Qunused-arguments -Don't emit warning for unused driver arguments. -.It Sy -Wa, Ns Em args -Pass the comma separated arguments in -.Em args -to the assembler. -.It Sy -Wl, Ns Em args -Pass the comma separated arguments in -.Em args -to the linker. -.It Sy -Wp, Ns Em args -Pass the comma separated arguments in -.Em args -to the preprocessor. -.It Sy -Xanalyzer Em arg -Pass -.Em arg -to the static analyzer. -.It Sy -Xassembler Em arg -Pass -.Em arg -to the assembler. -.It Sy -Xlinker Em arg -Pass -.Em arg -to the linker. -.It Sy -Xpreprocessor Em arg -Pass -.Em arg -to the preprocessor. -.It Sy -o Em file -Write output to -.Em file . -.It Sy -print-file-name Ns = Ns Em file -Print the full library path of -.Em file . -.It Sy -print-libgcc-file-name +.UNINDENT +.INDENT 0.0 +.TP +.B \-Qunused\-arguments +Do not emit any warnings for unused driver arguments. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wa, +Pass the comma separated arguments in args to the assembler. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wl, +Pass the comma separated arguments in args to the linker. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Wp, +Pass the comma separated arguments in args to the preprocessor. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xanalyzer +Pass arg to the static analyzer. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xassembler +Pass arg to the assembler. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xlinker +Pass arg to the linker. +.UNINDENT +.INDENT 0.0 +.TP +.B \-Xpreprocessor +Pass arg to the preprocessor. +.UNINDENT +.INDENT 0.0 +.TP +.B \-o +Write output to file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-file\-name= +Print the full library path of file. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-libgcc\-file\-name Print the library path for "libgcc.a". -.It Sy -print-prog-name Ns = Ns Em name -Print the full program path of -.Em name . -.It Sy -print-search-dirs +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-prog\-name= +Print the full program path of name. +.UNINDENT +.INDENT 0.0 +.TP +.B \-print\-search\-dirs Print the paths used for finding libraries and programs. -.It Sy -save-temps +.UNINDENT +.INDENT 0.0 +.TP +.B \-save\-temps Save intermediate compilation results. -.It Sy -integrated-as Sy -no-integrated-as +.UNINDENT +.INDENT 0.0 +.TP +.B \-integrated\-as, \-no\-integrated\-as Used to enable and disable, respectively, the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent. -.It Sy -time +.UNINDENT +.INDENT 0.0 +.TP +.B \-time Time individual commands. -.It Sy -ftime-report +.UNINDENT +.INDENT 0.0 +.TP +.B \-ftime\-report Print timing summary of each stage of compilation. -.It Sy -v +.UNINDENT +.INDENT 0.0 +.TP +.B \-v Show commands to run and use verbose output. -.El -.Ss Diagnostics Options -.Bl -tag -width Ds -.It Sy -fshow-column Sy -fshow-source-location Sy -fcaret-diagnostics Sy -fdiagnostics-fixit-info Sy -fdiagnostics-parseable-fixits Sy -fdiagnostics-print-source-range-info Sy -fprint-source-range-info Sy -fdiagnostics-show-option Sy -fmessage-length -These options control how Clang prints out information about diagnostics (errors -and warnings). Please see the Clang User's Manual for more information. -.El -.Ss Preprocessor Options -.Bl -tag -width Ds -.It Sy -D Ns Em macroname=value +.UNINDENT +.SS Diagnostics Options +.INDENT 0.0 +.TP +.B \-fshow\-column, \-fshow\-source\-location, \-fcaret\-diagnostics, \-fdiagnostics\-fixit\-info, \-fdiagnostics\-parseable\-fixits, \-fdiagnostics\-print\-source\-range\-info, \-fprint\-source\-range\-info, \-fdiagnostics\-show\-option, \-fmessage\-length +These options control how Clang prints out information about diagnostics +(errors and warnings). Please see the Clang User\(aqs Manual for more information. +.UNINDENT +.SS Preprocessor Options +.INDENT 0.0 +.TP +.B \-D= Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed. -.It Sy -U Ns Em macroname +.UNINDENT +.INDENT 0.0 +.TP +.B \-U Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed. -.It Sy -include Em filename +.UNINDENT +.INDENT 0.0 +.TP +.B \-include Adds an implicit #include into the predefines buffer which is read before the source file is preprocessed. -.It Sy -I Ns Em directory +.UNINDENT +.INDENT 0.0 +.TP +.B \-I Add the specified directory to the search path for include files. -.It Sy -F Ns Em directory +.UNINDENT +.INDENT 0.0 +.TP +.B \-F Add the specified directory to the search path for framework include files. -.It Sy -nostdinc +.UNINDENT +.INDENT 0.0 +.TP +.B \-nostdinc Do not search the standard system directories or compiler builtin directories for include files. -.It Sy -nostdlibinc -Do not search the standard system directories for include files, but do search -compiler builtin include directories. -.It Sy -nobuiltininc -Do not search clang's builtin directory for include files. -.El -.Sh ENVIRONMENT -.Bl -tag -width Ds -.It Sy TMPDIR Ns , Sy TEMP Ns , Sy TMP -These environment variables are checked, in order, for the location to -write temporary files used during the compilation process. -.It Sy CPATH -If this environment variable is present, it is treated as a delimited -list of paths to be added to the default system include path list. The -delimiter is the platform dependent delimitor, as used in the -.Em PATH -environment variable. -.Pp +.UNINDENT +.INDENT 0.0 +.TP +.B \-nostdlibinc +Do not search the standard system directories for include files, but do +search compiler builtin include directories. +.UNINDENT +.INDENT 0.0 +.TP +.B \-nobuiltininc +Do not search clang\(aqs builtin directory for include files. +.UNINDENT +.SH ENVIRONMENT +.INDENT 0.0 +.TP +.B TMPDIR, TEMP, TMP +These environment variables are checked, in order, for the location to write +temporary files used during the compilation process. +.UNINDENT +.INDENT 0.0 +.TP +.B CPATH +If this environment variable is present, it is treated as a delimited list of +paths to be added to the default system include path list. The delimiter is +the platform dependent delimiter, as used in the PATH environment variable. +.sp Empty components in the environment variable are ignored. -.It Sy C_INCLUDE_PATH Ns , Sy OBJC_INCLUDE_PATH Ns , Sy CPLUS_INCLUDE_PATH Ns , Sy OBJCPLUS_INCLUDE_PATH -These environment variables specify additional paths, as for CPATH, -which are only used when processing the appropriate language. -.It Sy MACOSX_DEPLOYMENT_TARGET -If -mmacosx-version-min is unspecified, the default deployment target -is read from this environment variable. This option only affects darwin -targets. -.El -.Sh BUGS -To report bugs, please visit -.Lk http://llvm.org/bugs/ . -Most bug reports should -include preprocessed source files (use the -.Sy -E -option) and the full output of -the compiler, along with information to reproduce. -.Sh SEE ALSO -.Bd -literal - as(1), ld(1) -.Ed -.Sh AUTHOR -Maintained by the Clang / LLVM Team -.Pf ( Lk http://clang.llvm.org Ns ). +.UNINDENT +.INDENT 0.0 +.TP +.B C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH +These environment variables specify additional paths, as for \fI\%CPATH\fP, which are +only used when processing the appropriate language. +.UNINDENT +.INDENT 0.0 +.TP +.B MACOSX_DEPLOYMENT_TARGET +If \fI\%\-mmacosx\-version\-min\fP is unspecified, the default deployment +target is read from this environment variable. This option only affects +Darwin targets. +.UNINDENT +.SH BUGS +.sp +To report bugs, please visit <\fI\%http://llvm.org/bugs/\fP>. Most bug reports should +include preprocessed source files (use the \fI\%\-E\fP option) and the full +output of the compiler, along with information to reproduce. +.SH SEE ALSO +.sp +\fIas(1)\fP, \fIld(1)\fP +.SH AUTHOR +Maintained by the Clang / LLVM Team () +.SH COPYRIGHT +2007-2016, The Clang Team +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llc/llc.1 b/usr.bin/clang/llc/llc.1 index c355eb582bdf..1ec01b7636cf 100644 --- a/usr.bin/clang/llc/llc.1 +++ b/usr.bin/clang/llc/llc.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLC" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLC" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llc \- LLVM static compiler . @@ -41,7 +41,7 @@ for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate a native executable. .sp The choice of architecture for the output assembly code is automatically -determined from the input file, unless the \fI\%\-march\fP option is used to +determined from the input file, unless the \fB\-march\fP option is used to override the default. .SH OPTIONS .sp @@ -49,11 +49,11 @@ If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP reads from standard input. Otherwise, it will from \fBfilename\fP\&. Inputs can be in either the LLVM assembly language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). .sp -If the \fI\-o\fP option is omitted, then \fBllc\fP will send its output -to standard output if the input is from standard input. If the \fI\-o\fP +If the \fB\-o\fP option is omitted, then \fBllc\fP will send its output +to standard output if the input is from standard input. If the \fB\-o\fP option specifies "\fB\-\fP", then the output will also be sent to standard output. .sp -If no \fI\-o\fP option is specified and an input file other than "\fB\-\fP" is +If no \fB\-o\fP option is specified and an input file other than "\fB\-\fP" is specified, then \fBllc\fP creates the output filename by taking the input filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix. .sp @@ -174,7 +174,13 @@ error. .B \-\-load= Dynamically load \fBdso_path\fP (a path to a dynamically shared object) that implements an LLVM target. This will permit the target name to be used with -the \fI\%\-march\fP option so that code can be generated for that target. +the \fB\-march\fP option so that code can be generated for that target. +.UNINDENT +.INDENT 0.0 +.TP +.B \-meabi=[default|gnu|4|5] +Specify which EABI version should conform to. Valid EABI versions are \fIgnu\fP, +\fI4\fP and \fI5\fP\&. Default value (\fIdefault\fP) depends on the triple. .UNINDENT .SS Tuning/Configuration Options .INDENT 0.0 @@ -254,6 +260,6 @@ lli .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/lli/lli.1 b/usr.bin/clang/lli/lli.1 index 9d571e9e52de..7b805f71c3ff 100644 --- a/usr.bin/clang/lli/lli.1 +++ b/usr.bin/clang/lli/lli.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLI" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLI" "1" "2016-03-03" "3.8" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode . @@ -37,10 +37,14 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .SH DESCRIPTION .sp \fBlli\fP directly executes programs in LLVM bitcode format. It takes a program -in LLVM bitcode format and executes it using a just\-in\-time compiler, if one is -available for the current architecture, or an interpreter. \fBlli\fP takes all of -the same code generator options as llc|llc, but they are only effective when -\fBlli\fP is using the just\-in\-time compiler. +in LLVM bitcode format and executes it using a just\-in\-time compiler or an +interpreter. +.sp +\fBlli\fP is \fInot\fP an emulator. It will not execute IR of different architectures +and it can only interpret (or JIT\-compile) for the host architecture. +.sp +The JIT compiler takes the same arguments as other tools, like \fBllc\fP, +but they don\(aqt necessarily work for the interpreter. .sp If \fIfilename\fP is not specified, then \fBlli\fP reads the LLVM bitcode for the program from standard input. @@ -48,144 +52,111 @@ program from standard input. The optional \fIargs\fP specified on the command line are passed to the program as arguments. .SH GENERAL OPTIONS -.sp -\fB\-fake\-argv0\fP=\fIexecutable\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-fake\-argv0=executable Override the \fBargv[0]\fP value passed into the executing program. .UNINDENT -.UNINDENT -.sp -\fB\-force\-interpreter\fP=\fI{false,true}\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-force\-interpreter={false,true} If set to true, use the interpreter even if a just\-in\-time compiler is available for this architecture. Defaults to false. .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\-load\fP=\fIpluginfilename\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-load=pluginfilename Causes \fBlli\fP to load the plugin (shared object) named \fIpluginfilename\fP and use it for optimization. .UNINDENT -.UNINDENT -.sp -\fB\-stats\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-stats Print statistics from the code\-generation passes. This is only meaningful for the just\-in\-time compiler, at present. .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 code\-generation pass and print it to standard error. .UNINDENT -.UNINDENT -.sp -\fB\-version\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-version Print out the version of \fBlli\fP and exit without doing anything else. .UNINDENT -.UNINDENT .SH TARGET OPTIONS -.sp -\fB\-mtriple\fP=\fItarget triple\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-mtriple=target triple Override the target triple specified in the input bitcode file with the specified string. This may result in a crash if you pick an architecture which is not compatible with the current system. .UNINDENT -.UNINDENT -.sp -\fB\-march\fP=\fIarch\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-march=arch Specify the architecture for which to generate assembly, overriding the target encoded in the bitcode file. See the output of \fBllc \-help\fP for a list of valid architectures. By default this is inferred from the target triple or autodetected to the current architecture. .UNINDENT -.UNINDENT -.sp -\fB\-mcpu\fP=\fIcpuname\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-mcpu=cpuname Specify a specific chip in the current architecture to generate code for. By default this is inferred from the target triple and autodetected to the current architecture. For a list of available CPUs, use: \fBllvm\-as < /dev/null | llc \-march=xyz \-mcpu=help\fP .UNINDENT -.UNINDENT -.sp -\fB\-mattr\fP=\fIa1,+a2,\-a3,...\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-mattr=a1,+a2,\-a3,... Override or control specific attributes of the target, such as whether SIMD operations are enabled or not. The default set of attributes is set by the current CPU. For a list of available attributes, use: \fBllvm\-as < /dev/null | llc \-march=xyz \-mattr=help\fP .UNINDENT -.UNINDENT .SH FLOATING POINT OPTIONS -.sp -\fB\-disable\-excess\-fp\-precision\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-disable\-excess\-fp\-precision Disable optimizations that may increase floating point precision. .UNINDENT -.UNINDENT -.sp -\fB\-enable\-no\-infs\-fp\-math\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-enable\-no\-infs\-fp\-math Enable optimizations that assume no Inf values. .UNINDENT -.UNINDENT -.sp -\fB\-enable\-no\-nans\-fp\-math\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-enable\-no\-nans\-fp\-math Enable optimizations that assume no NAN values. .UNINDENT -.UNINDENT -.sp -\fB\-enable\-unsafe\-fp\-math\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-enable\-unsafe\-fp\-math Causes \fBlli\fP to enable optimizations that may decrease floating point precision. .UNINDENT -.UNINDENT -.sp -\fB\-soft\-float\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-soft\-float Causes \fBlli\fP to generate software floating point library calls instead of equivalent hardware instructions. .UNINDENT -.UNINDENT .SH CODE GENERATION OPTIONS -.sp -\fB\-code\-model\fP=\fImodel\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-code\-model=model Choose the code model from: -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -200,43 +171,36 @@ large: Large code model .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.sp -\fB\-disable\-post\-RA\-scheduler\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-disable\-post\-RA\-scheduler Disable scheduling after register allocation. .UNINDENT -.UNINDENT -.sp -\fB\-disable\-spill\-fusing\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-disable\-spill\-fusing Disable fusing of spill code into instructions. .UNINDENT -.UNINDENT -.sp -\fB\-jit\-enable\-eh\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-jit\-enable\-eh Exception handling should be enabled in the just\-in\-time compiler. .UNINDENT -.UNINDENT -.sp -\fB\-join\-liveintervals\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-join\-liveintervals Coalesce copies (default=true). .UNINDENT +.INDENT 0.0 +.TP +.B \-nozero\-initialized\-in\-bss +Don\(aqt place zero\-initialized symbols into the BSS section. .UNINDENT -.sp -\fB\-nozero\-initialized\-in\-bss\fP Don\(aqt place zero\-initialized symbols into the BSS section. -.sp -\fB\-pre\-RA\-sched\fP=\fIscheduler\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-pre\-RA\-sched=scheduler Instruction schedulers available (before register allocation): -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -253,13 +217,11 @@ Instruction schedulers available (before register allocation): .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.sp -\fB\-regalloc\fP=\fIallocator\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-regalloc=allocator Register allocator to use (default=linearscan) -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -272,13 +234,11 @@ Register allocator to use (default=linearscan) .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.sp -\fB\-relocation\-model\fP=\fImodel\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-relocation\-model=model Choose relocation model from: -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -291,13 +251,11 @@ Choose relocation model from: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.sp -\fB\-spiller\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-spiller Spiller to use (default=local) -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -309,13 +267,11 @@ Spiller to use (default=local) .UNINDENT .UNINDENT .UNINDENT -.UNINDENT -.sp -\fB\-x86\-asm\-syntax\fP=\fIsyntax\fP .INDENT 0.0 -.INDENT 3.5 +.TP +.B \-x86\-asm\-syntax=syntax Choose style of code to emit from X86 backend: -.INDENT 0.0 +.INDENT 7.0 .INDENT 3.5 .sp .nf @@ -327,17 +283,16 @@ Choose style of code to emit from X86 backend: .UNINDENT .UNINDENT .UNINDENT -.UNINDENT .SH EXIT STATUS .sp If \fBlli\fP fails to load the program, it will exit with an exit code of 1. Otherwise, it will return the exit code of the program it executes. .SH SEE ALSO .sp -llc|llc +\fBllc\fP .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-ar/llvm-ar.1 b/usr.bin/clang/llvm-ar/llvm-ar.1 index 3254954392d0..7b7e062bc016 100644 --- a/usr.bin/clang/llvm-ar/llvm-ar.1 +++ b/usr.bin/clang/llvm-ar/llvm-ar.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AR" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-AR" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-ar \- LLVM archiver . @@ -385,6 +385,6 @@ ar(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-as/llvm-as.1 b/usr.bin/clang/llvm-as/llvm-as.1 index 651136a04cfc..bd00ef0a0d8f 100644 --- a/usr.bin/clang/llvm-as/llvm-as.1 +++ b/usr.bin/clang/llvm-as/llvm-as.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AS" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-AS" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-as \- LLVM assembler . @@ -82,6 +82,6 @@ llvm\-dis|llvm\-dis, gccas|gccas .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 index 6d59ddd125c3..a88ab8870256 100644 --- a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 +++ b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-BCANALYZER" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-BCANALYZER" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-bcanalyzer \- LLVM bitcode analyzer . @@ -471,6 +471,6 @@ Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-cov/llvm-cov.1 b/usr.bin/clang/llvm-cov/llvm-cov.1 index fdcb17ac5f0d..07c400058af3 100644 --- a/usr.bin/clang/llvm-cov/llvm-cov.1 +++ b/usr.bin/clang/llvm-cov/llvm-cov.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-COV" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-COV" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-cov \- emit coverage information . @@ -314,6 +314,6 @@ non\-universal binary. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-diff/llvm-diff.1 b/usr.bin/clang/llvm-diff/llvm-diff.1 index c15d6d8fc18d..9ec9940c646b 100644 --- a/usr.bin/clang/llvm-diff/llvm-diff.1 +++ b/usr.bin/clang/llvm-diff/llvm-diff.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIFF" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-DIFF" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-diff \- LLVM structural 'diff' . @@ -72,6 +72,6 @@ massive detected differences in blocks. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-dis/llvm-dis.1 b/usr.bin/clang/llvm-dis/llvm-dis.1 index 21044fc64932..2a9566e493b9 100644 --- a/usr.bin/clang/llvm-dis/llvm-dis.1 +++ b/usr.bin/clang/llvm-dis/llvm-dis.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIS" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-DIS" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-dis \- LLVM disassembler . @@ -83,6 +83,6 @@ llvm\-as|llvm\-as .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 b/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 index cb6cf6404f48..8e559a2dfb20 100644 --- a/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 +++ b/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DWARFDUMP" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-DWARFDUMP" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-dwarfdump \- print contents of DWARF sections . @@ -50,11 +50,11 @@ Use \fBall\fP to dump all DWARF sections. It is the default. .UNINDENT .SH EXIT STATUS .sp -\fBllvm\-dwarfdump\fP returns 0. Other exit codes imply internal -program error. +\fBllvm\-dwarfdump\fP returns 0 if the input files were parsed and dumped +successfully. Otherwise, it returns 1. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-extract/llvm-extract.1 b/usr.bin/clang/llvm-extract/llvm-extract.1 index 6cad6ed22418..b69439c3f77c 100644 --- a/usr.bin/clang/llvm-extract/llvm-extract.1 +++ b/usr.bin/clang/llvm-extract/llvm-extract.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-EXTRACT" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-EXTRACT" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-extract \- extract a function from an LLVM module . @@ -62,7 +62,7 @@ output device. \fB\-\-func\fP \fIfunction\-name\fP .INDENT 0.0 .INDENT 3.5 -Extract the function named \fIfunction\-name\fP from the LLVM bitcode. May be +Extract the function named \fIfunction\-name\fP from the LLVM bitcode. May be specified multiple times to extract multiple functions at once. .UNINDENT .UNINDENT @@ -79,7 +79,7 @@ specified multiple times. \fB\-\-glob\fP \fIglobal\-name\fP .INDENT 0.0 .INDENT 3.5 -Extract the global variable named \fIglobal\-name\fP from the LLVM bitcode. May be +Extract the global variable named \fIglobal\-name\fP from the LLVM bitcode. May be specified multiple times to extract multiple global variables at once. .UNINDENT .UNINDENT @@ -124,6 +124,6 @@ bugpoint .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-link/llvm-link.1 b/usr.bin/clang/llvm-link/llvm-link.1 index 9df31b12746d..91ed3770f50b 100644 --- a/usr.bin/clang/llvm-link/llvm-link.1 +++ b/usr.bin/clang/llvm-link/llvm-link.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-LINK" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-LINK" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-link \- LLVM bitcode linker . @@ -38,7 +38,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .sp \fBllvm\-link\fP takes several LLVM bitcode files and links them together into a single LLVM bitcode file. It writes the output file to standard output, -unless the \fI\-o\fP option is used to specify a filename. +unless the \fB\-o\fP option is used to specify a filename. .SH OPTIONS .INDENT 0.0 .TP @@ -84,6 +84,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-nm/llvm-nm.1 b/usr.bin/clang/llvm-nm/llvm-nm.1 index 467bd21efbb6..7454a15a1562 100644 --- a/usr.bin/clang/llvm-nm/llvm-nm.1 +++ b/usr.bin/clang/llvm-nm/llvm-nm.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-NM" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-NM" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-nm \- list LLVM bitcode and object file's symbol table . @@ -43,9 +43,9 @@ its provenance. If no file name is specified, or \fI\-\fP is used as a file nam \fBllvm\-nm\fP will process a file on its standard input stream. .sp \fBllvm\-nm\fP\(aqs default output format is the traditional BSD \fBnm\fP -output format. Each such output record consists of an (optional) 8\-digit +output format. Each such output record consists of an (optional) 8\-digit hexadecimal address, followed by a type code character, followed by a name, for -each symbol. One record is printed per line; fields are separated by spaces. +each symbol. One record is printed per line; fields are separated by spaces. When the address is omitted, it is replaced by 8 spaces. .sp Type code characters currently supported, and their meanings, are as follows: @@ -115,12 +115,12 @@ file. .INDENT 0.0 .TP .B \-B (default) -Use BSD output format. Alias for \fI\-\-format=bsd\fP\&. +Use BSD output format. Alias for \fB\-\-format=bsd\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-P -Use POSIX.2 output format. Alias for \fI\-\-format=posix\fP\&. +Use POSIX.2 output format. Alias for \fB\-\-format=posix\fP\&. .UNINDENT .INDENT 0.0 .TP @@ -208,6 +208,6 @@ llvm\-dis, ar(1), nm(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-profdata/llvm-profdata.1 b/usr.bin/clang/llvm-profdata/llvm-profdata.1 index 1c59b50e88f0..18c26fc9b5fe 100644 --- a/usr.bin/clang/llvm-profdata/llvm-profdata.1 +++ b/usr.bin/clang/llvm-profdata/llvm-profdata.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-PROFDATA" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-PROFDATA" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-profdata \- Profile data tool . @@ -48,12 +48,19 @@ data files. .SH MERGE .SS SYNOPSIS .sp -\fBllvm\-profdata merge\fP [\fIoptions\fP] [\fIfilenames...\fP] +\fBllvm\-profdata merge\fP [\fIoptions\fP] [\fIfilename...\fP] .SS DESCRIPTION .sp \fBllvm\-profdata merge\fP takes several profile data files generated by PGO instrumentation and merges them together into a single indexed profile data file. +.sp +By default profile data is merged without modification. This means that the +relative importance of each input file is proportional to the number of samples +or counts it contains. In general, the input from a longer training run will be +interpreted as relatively more important than a shorter run. Depending on the +nature of the training runs it may be useful to adjust the weight given to each +input file by using the \fB\-weighted\-input\fP option. .SS OPTIONS .INDENT 0.0 .TP @@ -66,6 +73,87 @@ Print a summary of command line options. Specify the output file name. \fIOutput\fP cannot be \fB\-\fP as the resulting indexed profile data can\(aqt be written to standard output. .UNINDENT +.INDENT 0.0 +.TP +.B \-weighted\-input=weight,filename +Specify an input file name along with a weight. The profile counts of the input +file will be scaled (multiplied) by the supplied \fBweight\fP, where where \fBweight\fP +is a decimal integer >= 1. Input files specified without using this option are +assigned a default weight of 1. Examples are shown below. +.UNINDENT +.INDENT 0.0 +.TP +.B \-instr (default) +Specify that the input profile is an instrumentation\-based profile. +.UNINDENT +.INDENT 0.0 +.TP +.B \-sample +Specify that the input profile is a sample\-based profile. +.sp +The format of the generated file can be generated in one of three ways: +.INDENT 7.0 +.TP +.B \-binary (default) +.UNINDENT +.sp +Emit the profile using a binary encoding. For instrumentation\-based profile +the output format is the indexed binary format. +.INDENT 7.0 +.TP +.B \-text +.UNINDENT +.sp +Emit the profile in text mode. This option can also be used with both +sample\-based and instrumentation\-based profile. When this option is used +the profile will be dumped in the text format that is parsable by the profile +reader. +.INDENT 7.0 +.TP +.B \-gcc +.UNINDENT +.sp +Emit the profile using GCC\(aqs gcov format (Not yet supported). +.UNINDENT +.SS EXAMPLES +.SS Basic Usage +.sp +Merge three profiles: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +llvm\-profdata merge foo.profdata bar.profdata baz.profdata \-output merged.profdata +.ft P +.fi +.UNINDENT +.UNINDENT +.SS Weighted Input +.sp +The input file \fIfoo.profdata\fP is especially important, multiply its counts by 10: +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +llvm\-profdata merge \-weighted\-input=10,foo.profdata bar.profdata baz.profdata \-output merged.profdata +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Exactly equivalent to the previous invocation (explicit form; useful for programmatic invocation): +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +llvm\-profdata merge \-weighted\-input=10,foo.profdata \-weighted\-input=1,bar.profdata \-weighted\-input=1,baz.profdata \-output merged.profdata +.ft P +.fi +.UNINDENT +.UNINDENT .SH SHOW .SS SYNOPSIS .sp @@ -105,6 +193,24 @@ Print a summary of command line options. Specify the output file name. If \fIoutput\fP is \fB\-\fP or it isn\(aqt specified, then the output is sent to standard output. .UNINDENT +.INDENT 0.0 +.TP +.B \-instr (default) +Specify that the input profile is an instrumentation\-based profile. +.UNINDENT +.INDENT 0.0 +.TP +.B \-text +Instruct the profile dumper to show profile counts in the text format of the +instrumentation\-based profile data representation. By default, the profile +information is dumped in a more human readable form (also in text) with +annotations. +.UNINDENT +.INDENT 0.0 +.TP +.B \-sample +Specify that the input profile is a sample\-based profile. +.UNINDENT .SH EXIT STATUS .sp \fBllvm\-profdata\fP returns 1 if the command is omitted or is invalid, @@ -112,6 +218,6 @@ if it cannot read input files, or if there is a mismatch between their data. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 b/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 index f05a5cedb21f..fc43d8d43955 100644 --- a/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 +++ b/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-SYMBOLIZER" "1" "2015-05-30" "3.7" "LLVM" +.TH "LLVM-SYMBOLIZER" "1" "2016-03-03" "3.8" "LLVM" .SH NAME llvm-symbolizer \- convert addresses into source code locations . @@ -38,9 +38,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .sp \fBllvm\-symbolizer\fP reads object file names and addresses from standard input and prints corresponding source code locations to standard output. -If object file is specified in command line, \fBllvm\-symbolizer\fP reads -only addresses from standard input. This -program uses debug info sections and symbol table in the object files. +If object file is specified in command line, \fBllvm\-symbolizer\fP +processes only addresses from standard input, the rest is output verbatim. +This program uses debug info sections and symbol table in the object files. .SH EXAMPLE .INDENT 0.0 .INDENT 3.5 @@ -83,6 +83,14 @@ main foo(int) /tmp/a.cc:12 +$cat addr.txt +0x40054d +$llvm\-symbolizer \-inlining \-print\-address \-pretty\-print \-obj=addr.exe < addr.txt +0x40054d: inc at /tmp/x.c:3:3 + (inlined by) main at /tmp/x.c:9:0 +$llvm\-symbolizer \-inlining \-pretty\-print \-obj=addr.exe < addr.txt +inc at /tmp/x.c:3:3 + (inlined by) main at /tmp/x.c:9:0 .ft P .fi .UNINDENT @@ -133,12 +141,23 @@ address will not be symbolized. Defaults to empty string. location, look for the debug info at the .dSYM path provided via the \fB\-dsym\-hint\fP flag. This flag can be used multiple times. .UNINDENT +.INDENT 0.0 +.TP +.B \-print\-address +Print address before the source code location. Defaults to false. +.UNINDENT +.INDENT 0.0 +.TP +.B \-pretty\-print +Print human readable output. If \fB\-inlining\fP is specified, enclosing scope is +prefixed by (inlined by). Refer to listed examples. +.UNINDENT .SH EXIT STATUS .sp \fBllvm\-symbolizer\fP returns 0. Other exit codes imply internal program error. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/llvm-tblgen/llvm-tblgen.1 b/usr.bin/clang/llvm-tblgen/llvm-tblgen.1 index 9ee3841dc841..291a9de8e44d 100644 --- a/usr.bin/clang/llvm-tblgen/llvm-tblgen.1 +++ b/usr.bin/clang/llvm-tblgen/llvm-tblgen.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "TBLGEN" "1" "2015-05-30" "3.7" "LLVM" +.TH "TBLGEN" "1" "2016-03-03" "3.8" "LLVM" .SH NAME tblgen \- Target Description To C++ Code Generator . @@ -177,6 +177,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. . diff --git a/usr.bin/clang/opt/opt.1 b/usr.bin/clang/opt/opt.1 index e5bacdfee603..a498d998bea4 100644 --- a/usr.bin/clang/opt/opt.1 +++ b/usr.bin/clang/opt/opt.1 @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "OPT" "1" "2015-05-30" "3.7" "LLVM" +.TH "OPT" "1" "2016-03-03" "3.8" "LLVM" .SH NAME opt \- LLVM optimizer . @@ -39,16 +39,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] 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 +function of \fBopt\fP depends on whether the \fB\-analyze\fP option is given. .sp -When \fI\-analyze\fP is specified, \fBopt\fP performs various analyses +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 program. .sp -While \fI\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an +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 \fI\%\-load\fP option. Use the \fI\%\-help\fP @@ -99,21 +99,21 @@ This option simply removes the inlining pass from the standard list. .INDENT 0.0 .TP .B \-disable\-opt -This option is only meaningful when \fI\-std\-link\-opts\fP is given. It +This option is only meaningful when \fB\-std\-link\-opts\fP is given. It disables most passes. .UNINDENT .INDENT 0.0 .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 \fI\-strip\fP +applying other optimizations. It is essentially the same as \fB\-strip\fP but it ensures that stripping of debug information is done first. .UNINDENT .INDENT 0.0 .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 +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. .UNINDENT @@ -165,6 +165,6 @@ occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2014, LLVM Project +2003-2016, LLVM Project .\" Generated by docutils manpage writer. .