Index: head/usr.bin/clang/bugpoint/bugpoint.1 =================================================================== --- head/usr.bin/clang/bugpoint/bugpoint.1 (revision 276914) +++ head/usr.bin/clang/bugpoint/bugpoint.1 (revision 276915) @@ -1,300 +1,293 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "BUGPOINT" "1" "2014-01-01" "3.4" "LLVM" +.TH "BUGPOINT" "1" "2015-01-10" "3.5" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool . .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 \fBbugpoint\fP [\fIoptions\fP] [\fIinput LLVM ll/bc files\fP] [\fILLVM passes\fP] \fB\-\-args\fP \fIprogram arguments\fP .SH DESCRIPTION .sp \fBbugpoint\fP narrows down the source of problems in LLVM tools and passes. It can be used to debug three types of failures: optimizer crashes, miscompilations by optimizers, or bad native code generation (including problems in the static and JIT compilers). It aims to reduce large test cases to small, useful ones. For more information on the design and inner workings of \fBbugpoint\fP, as well as advice for using bugpoint, see \fIllvm/docs/Bugpoint.html\fP in the LLVM distribution. .SH OPTIONS .sp \fB\-\-additional\-so\fP \fIlibrary\fP .INDENT 0.0 .INDENT 3.5 Load the dynamic shared object \fIlibrary\fP into the test program whenever it is run. This is useful if you are debugging programs which depend on non\-LLVM libraries (such as the X or curses libraries) to run. .UNINDENT .UNINDENT .sp \fB\-\-append\-exit\-code\fP=\fI{true,false}\fP .INDENT 0.0 .INDENT 3.5 Append the test programs exit code to the output file so that a change in exit code is considered a test failure. Defaults to false. .UNINDENT .UNINDENT .sp \fB\-\-args\fP \fIprogram args\fP .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-args\fP to the test program whenever it runs. Note that if any of the \fIprogram args\fP start with a "\fB\-\fP", you should use: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C bugpoint [bugpoint args] \-\-args \-\- [program args] .ft P .fi .UNINDENT .UNINDENT .sp The "\fB\-\-\fP" right after the \fB\-\-args\fP option tells \fBbugpoint\fP to consider any options starting with "\fB\-\fP" to be part of the \fB\-\-args\fP option, not as options to \fBbugpoint\fP itself. .UNINDENT .UNINDENT .sp \fB\-\-tool\-args\fP \fItool args\fP .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-tool\-args\fP to the LLVM tool under test (\fBllc\fP, \fBlli\fP, etc.) whenever it runs. You should use this option in the following way: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args] .ft P .fi .UNINDENT .UNINDENT .sp The "\fB\-\-\fP" right after the \fB\-\-tool\-args\fP option tells \fBbugpoint\fP to consider any options starting with "\fB\-\fP" to be part of the \fB\-\-tool\-args\fP option, not as options to \fBbugpoint\fP itself. (See \fB\-\-args\fP, above.) .UNINDENT .UNINDENT .sp \fB\-\-safe\-tool\-args\fP \fItool args\fP .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-safe\-tool\-args\fP to the "safe" execution tool. .UNINDENT .UNINDENT .sp \fB\-\-gcc\-tool\-args\fP \fIgcc tool args\fP .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-gcc\-tool\-args\fP to the invocation of \fBgcc\fP\&. .UNINDENT .UNINDENT .sp \fB\-\-opt\-args\fP \fIopt args\fP .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-opt\-args\fP to the invocation of \fBopt\fP\&. .UNINDENT .UNINDENT .sp \fB\-\-disable\-{dce,simplifycfg}\fP .INDENT 0.0 .INDENT 3.5 Do not run the specified passes to clean up and reduce the size of the test program. By default, \fBbugpoint\fP uses these passes internally when attempting to reduce test programs. If you\(aqre trying to find a bug in one of these passes, \fBbugpoint\fP may crash. .UNINDENT .UNINDENT .sp \fB\-\-enable\-valgrind\fP .INDENT 0.0 .INDENT 3.5 Use valgrind to find faults in the optimization phase. This will allow bugpoint to find otherwise asymptomatic problems caused by memory mis\-management. .UNINDENT .UNINDENT .sp \fB\-find\-bugs\fP .INDENT 0.0 .INDENT 3.5 Continually randomize the specified passes and run them on the test program until a bug is found or the user kills \fBbugpoint\fP\&. .UNINDENT .UNINDENT .sp \fB\-help\fP .INDENT 0.0 .INDENT 3.5 Print a summary of command line options. .UNINDENT .UNINDENT .sp \fB\-\-input\fP \fIfilename\fP .INDENT 0.0 .INDENT 3.5 Open \fIfilename\fP and redirect the standard input of the test program, whenever it runs, to come from that file. .UNINDENT .UNINDENT .sp \fB\-\-load\fP \fIplugin\fP .INDENT 0.0 .INDENT 3.5 Load the dynamic object \fIplugin\fP into \fBbugpoint\fP itself. 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 \fB\-help\fP and \fB\-\-load\fP options together; for example: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C bugpoint \-\-load myNewPass.so \-help .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-\-mlimit\fP \fImegabytes\fP .INDENT 0.0 .INDENT 3.5 Specifies an upper limit on memory usage of the optimization and codegen. Set to zero to disable the limit. .UNINDENT .UNINDENT .sp \fB\-\-output\fP \fIfilename\fP .INDENT 0.0 .INDENT 3.5 Whenever the test program produces output on its standard output stream, it should match the contents of \fIfilename\fP (the "reference output"). If you do not use this option, \fBbugpoint\fP will attempt to generate a reference output by compiling the program with the "safe" backend and running it. .UNINDENT .UNINDENT .sp -\fB\-\-profile\-info\-file\fP \fIfilename\fP -.INDENT 0.0 -.INDENT 3.5 -Profile file loaded by \fB\-\-profile\-loader\fP\&. -.UNINDENT -.UNINDENT -.sp \fB\-\-run\-{int,jit,llc,custom}\fP .INDENT 0.0 .INDENT 3.5 Whenever the test program is compiled, \fBbugpoint\fP should generate code for it using the specified code generator. These options allow you to choose the interpreter, the JIT compiler, the static native code compiler, or a custom command (see \fB\-\-exec\-command\fP) respectively. .UNINDENT .UNINDENT .sp \fB\-\-safe\-{llc,custom}\fP .INDENT 0.0 .INDENT 3.5 When debugging a code generator, \fBbugpoint\fP should use the specified code generator as the "safe" code generator. This is a known\-good code generator used to generate the "reference output" if it has not been provided, and to compile portions of the program that as they are excluded from the testcase. These options allow you to choose the static native code compiler, or a custom command, (see \fB\-\-exec\-command\fP) respectively. The interpreter and the JIT backends cannot currently be used as the "safe" backends. .UNINDENT .UNINDENT .sp \fB\-\-exec\-command\fP \fIcommand\fP .INDENT 0.0 .INDENT 3.5 This option defines the command to use with the \fB\-\-run\-custom\fP and \fB\-\-safe\-custom\fP options to execute the bitcode testcase. This can be useful for cross\-compilation. .UNINDENT .UNINDENT .sp \fB\-\-compile\-command\fP \fIcommand\fP .INDENT 0.0 .INDENT 3.5 This option defines the command to use with the \fB\-\-compile\-custom\fP option to compile the bitcode testcase. This can be useful for testing compiler output without running any link or execute stages. To generate a reduced unit test, you may add CHECK directives to the testcase and pass the name of an executable compile\-command script in this form: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C #!/bin/sh llc "$@" not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s .ft P .fi .UNINDENT .UNINDENT .sp This script will "fail" as long as FileCheck passes. So the result will be the minimum bitcode that passes FileCheck. .UNINDENT .UNINDENT .sp \fB\-\-safe\-path\fP \fIpath\fP .INDENT 0.0 .INDENT 3.5 This option defines the path to the command to execute with the \fB\-\-safe\-{int,jit,llc,custom}\fP option. .UNINDENT .UNINDENT .SH EXIT STATUS .sp If \fBbugpoint\fP succeeds in finding a problem, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp opt|opt .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llc/llc.1 =================================================================== --- head/usr.bin/clang/llc/llc.1 (revision 276914) +++ head/usr.bin/clang/llc/llc.1 (revision 276915) @@ -1,265 +1,259 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLC" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLC" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llc \- LLVM static 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 \fBllc\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp The \fBllc\fP command compiles LLVM source inputs into assembly language 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 override the default. .SH OPTIONS .sp 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 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 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 Other \fBllc\fP options are described below. .SS End\-user Options .INDENT 0.0 .TP .B \-help Print a summary of command line options. .UNINDENT .INDENT 0.0 .TP .B \-O=uint Generate code at different optimization levels. These correspond to the \fB\-O0\fP, \fB\-O1\fP, \fB\-O2\fP, and \fB\-O3\fP optimization levels used by -\fBllvm\-gcc\fP and \fBclang\fP\&. +\fBclang\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-mtriple= Override the target triple specified in the input file with the specified string. .UNINDENT .INDENT 0.0 .TP .B \-march= Specify the architecture for which to generate assembly, overriding the target encoded in the input 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 .INDENT 0.0 .TP .B \-mcpu= 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: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C llvm\-as < /dev/null | llc \-march=xyz \-mcpu=help .ft P .fi .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-filetype= Specify what kind of output \fBllc\fP should generated. Options are: \fBasm\fP for textual assembly ( \fB\(aq.s\(aq\fP), \fBobj\fP for native object files (\fB\(aq.o\(aq\fP) and \fBnull\fP for not emitting anything (for performance testing). .sp Note that not all targets support all options. .UNINDENT .INDENT 0.0 .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: .INDENT 7.0 .INDENT 3.5 .sp .nf .ft C llvm\-as < /dev/null | llc \-march=xyz \-mattr=help .ft P .fi .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-disable\-fp\-elim Disable frame pointer elimination optimization. .UNINDENT .INDENT 0.0 .TP .B \-\-disable\-excess\-fp\-precision Disable optimizations that may produce excess precision for floating point. Note that this option can dramatically slow down code on some systems (e.g. X86). .UNINDENT .INDENT 0.0 .TP .B \-\-enable\-no\-infs\-fp\-math Enable optimizations that assume no Inf values. .UNINDENT .INDENT 0.0 .TP .B \-\-enable\-no\-nans\-fp\-math Enable optimizations that assume no NAN values. .UNINDENT .INDENT 0.0 .TP .B \-\-enable\-unsafe\-fp\-math Enable optimizations that make unsafe assumptions about IEEE math (e.g. that addition is associative) or may not work for all input ranges. These optimizations allow the code generator to make use of some instructions which would otherwise not be usable (such as \fBfsin\fP on X86). .UNINDENT .INDENT 0.0 .TP -.B \-\-enable\-correct\-eh\-support -Instruct the \fBlowerinvoke\fP pass to insert code for correct exception -handling support. This is expensive and is by default omitted for efficiency. -.UNINDENT -.INDENT 0.0 -.TP .B \-\-stats Print statistics recorded by code\-generation passes. .UNINDENT .INDENT 0.0 .TP .B \-\-time\-passes Record the amount of time needed for each pass and print a report to standard error. .UNINDENT .INDENT 0.0 .TP .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. .UNINDENT .SS Tuning/Configuration Options .INDENT 0.0 .TP .B \-\-print\-machineinstrs Print generated machine code between compilation phases (useful for debugging). .UNINDENT .INDENT 0.0 .TP .B \-\-regalloc= Specify the register allocator to use. Valid register allocators are: .sp \fIbasic\fP .INDENT 7.0 .INDENT 3.5 Basic register allocator. .UNINDENT .UNINDENT .sp \fIfast\fP .INDENT 7.0 .INDENT 3.5 Fast register allocator. It is the default for unoptimized code. .UNINDENT .UNINDENT .sp \fIgreedy\fP .INDENT 7.0 .INDENT 3.5 Greedy register allocator. It is the default for optimized code. .UNINDENT .UNINDENT .sp \fIpbqp\fP .INDENT 7.0 .INDENT 3.5 Register allocator based on \(aqPartitioned Boolean Quadratic Programming\(aq. .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-\-spiller= Specify the spiller to use for register allocators that support it. Currently this option is used only by the linear scan register allocator. The default \fBspiller\fP is \fIlocal\fP\&. Valid spillers are: .sp \fIsimple\fP .INDENT 7.0 .INDENT 3.5 Simple spiller .UNINDENT .UNINDENT .sp \fIlocal\fP .INDENT 7.0 .INDENT 3.5 Local spiller .UNINDENT .UNINDENT .UNINDENT .SS Intel IA\-32\-specific Options .INDENT 0.0 .TP .B \-\-x86\-asm\-syntax=[att|intel] Specify whether to emit assembly code in AT&T syntax (the default) or Intel syntax. .UNINDENT .SH EXIT STATUS .sp If \fBllc\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp lli .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/lli/lli.1 =================================================================== --- head/usr.bin/clang/lli/lli.1 (revision 276914) +++ head/usr.bin/clang/lli/lli.1 (revision 276915) @@ -1,350 +1,343 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLI" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLI" "1" "2015-01-10" "3.5" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode . .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 \fBlli\fP [\fIoptions\fP] [\fIfilename\fP] [\fIprogram args\fP] .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. .sp If \fIfilename\fP is not specified, then \fBlli\fP reads the LLVM bitcode for the program from standard input. .sp 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 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 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 Print a summary of command line options. .UNINDENT .UNINDENT .sp \fB\-load\fP=\fIpluginfilename\fP .INDENT 0.0 .INDENT 3.5 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 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 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 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 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 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 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 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 Disable optimizations that may increase floating point precision. .UNINDENT .UNINDENT .sp \fB\-enable\-no\-infs\-fp\-math\fP .INDENT 0.0 .INDENT 3.5 Enable optimizations that assume no Inf values. .UNINDENT .UNINDENT .sp \fB\-enable\-no\-nans\-fp\-math\fP .INDENT 0.0 .INDENT 3.5 Enable optimizations that assume no NAN values. .UNINDENT .UNINDENT .sp \fB\-enable\-unsafe\-fp\-math\fP .INDENT 0.0 .INDENT 3.5 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 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 Choose the code model from: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C default: Target default code model small: Small code model kernel: Kernel code model medium: Medium code model large: Large code model .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-disable\-post\-RA\-scheduler\fP .INDENT 0.0 .INDENT 3.5 Disable scheduling after register allocation. .UNINDENT .UNINDENT .sp \fB\-disable\-spill\-fusing\fP .INDENT 0.0 .INDENT 3.5 Disable fusing of spill code into instructions. .UNINDENT .UNINDENT .sp -\fB\-enable\-correct\-eh\-support\fP -.INDENT 0.0 -.INDENT 3.5 -Make the \-lowerinvoke pass insert expensive, but correct, EH code. -.UNINDENT -.UNINDENT -.sp \fB\-jit\-enable\-eh\fP .INDENT 0.0 .INDENT 3.5 Exception handling should be enabled in the just\-in\-time compiler. .UNINDENT .UNINDENT .sp \fB\-join\-liveintervals\fP .INDENT 0.0 .INDENT 3.5 Coalesce copies (default=true). .UNINDENT .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 Instruction schedulers available (before register allocation): .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C =default: Best scheduler for the target =none: No scheduling: breadth first sequencing =simple: Simple two pass scheduling: minimize critical path and maximize processor utilization =simple\-noitin: Simple two pass scheduling: Same as simple except using generic latency =list\-burr: Bottom\-up register reduction list scheduling =list\-tdrr: Top\-down register reduction list scheduling =list\-td: Top\-down list scheduler \-print\-machineinstrs \- Print generated machine code .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-regalloc\fP=\fIallocator\fP .INDENT 0.0 .INDENT 3.5 Register allocator to use (default=linearscan) .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C =bigblock: Big\-block register allocator =linearscan: linear scan register allocator =local \- local register allocator =simple: simple register allocator .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-relocation\-model\fP=\fImodel\fP .INDENT 0.0 .INDENT 3.5 Choose relocation model from: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C =default: Target default relocation model =static: Non\-relocatable code =pic \- Fully relocatable, position independent code =dynamic\-no\-pic: Relocatable external references, non\-relocatable code .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-spiller\fP .INDENT 0.0 .INDENT 3.5 Spiller to use (default=local) .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C =simple: simple spiller =local: local spiller .ft P .fi .UNINDENT .UNINDENT .UNINDENT .UNINDENT .sp \fB\-x86\-asm\-syntax\fP=\fIsyntax\fP .INDENT 0.0 .INDENT 3.5 Choose style of code to emit from X86 backend: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C =att: Emit AT&T\-style assembly =intel: Emit Intel\-style assembly .ft P .fi .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 .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-ar/llvm-ar.1 =================================================================== --- head/usr.bin/clang/llvm-ar/llvm-ar.1 (revision 276914) +++ head/usr.bin/clang/llvm-ar/llvm-ar.1 (revision 276915) @@ -1,390 +1,390 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AR" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-AR" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-ar \- LLVM archiver . .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 \fBllvm\-ar\fP [\-]{dmpqrtx}[Rabfikou] [relpos] [count] [files...] .SH DESCRIPTION .sp The \fBllvm\-ar\fP command is similar to the common Unix utility, \fBar\fP\&. It archives several files together into a single file. The intent for this is to produce archive libraries by LLVM bitcode that can be linked into an LLVM program. However, the archive can contain any kind of file. By default, \fBllvm\-ar\fP generates a symbol table that makes linking faster because only the symbol table needs to be consulted, not each individual file member of the archive. .sp The \fBllvm\-ar\fP command can be used to \fIread\fP SVR4, GNU and BSD style archive files. However, right now it can only write in the GNU format. If an SVR4 or BSD style archive is used with the \fBr\fP (replace) or \fBq\fP (quick update) operations, the archive will be reconstructed in GNU format. .sp Here\(aqs where \fBllvm\-ar\fP departs from previous \fBar\fP implementations: .sp \fISymbol Table\fP .INDENT 0.0 .INDENT 3.5 Since \fBllvm\-ar\fP supports bitcode files. The symbol table it creates is in GNU format and includes both native and bitcode files. .UNINDENT .UNINDENT .sp \fILong Paths\fP .INDENT 0.0 .INDENT 3.5 Currently \fBllvm\-ar\fP can read GNU and BSD long file names, but only writes archives with the GNU format. .UNINDENT .UNINDENT .SH OPTIONS .sp The options to \fBllvm\-ar\fP are compatible with other \fBar\fP implementations. However, there are a few modifiers (\fIR\fP) that are not found in other \fBar\fP implementations. The options to \fBllvm\-ar\fP specify a single basic operation to perform on the archive, a variety of modifiers for that operation, the name of the archive file, and an optional list of file names. These options are used to determine how \fBllvm\-ar\fP should process the archive file. .sp The Operations and Modifiers are explained in the sections below. The minimal set of options is at least one operator and the name of the archive. Typically archive files end with a \fB\&.a\fP suffix, but this is not required. Following the \fIarchive\-name\fP comes a list of \fIfiles\fP that indicate the specific members of the archive to operate on. If the \fIfiles\fP option is not specified, it generally means either "none" or "all" members, depending on the operation. .SS Operations .sp d .INDENT 0.0 .INDENT 3.5 Delete files from the archive. No modifiers are applicable to this operation. The \fIfiles\fP options specify which members should be removed from the archive. It is not an error if a specified file does not appear in the archive. If no \fIfiles\fP are specified, the archive is not modified. .UNINDENT .UNINDENT .sp m[abi] .INDENT 0.0 .INDENT 3.5 Move files from one location in the archive to another. The \fIa\fP, \fIb\fP, and \fIi\fP modifiers apply to this operation. The \fIfiles\fP will all be moved to the location given by the modifiers. If no modifiers are used, the files will be moved to the end of the archive. If no \fIfiles\fP are specified, the archive is not modified. .UNINDENT .UNINDENT .sp p .INDENT 0.0 .INDENT 3.5 Print files to the standard output. This operation simply prints the \fIfiles\fP indicated to the standard output. If no \fIfiles\fP are specified, the entire archive is printed. Printing bitcode files is ill\-advised as they might confuse your terminal settings. The \fIp\fP operation never modifies the archive. .UNINDENT .UNINDENT .sp q .INDENT 0.0 .INDENT 3.5 Quickly append files to the end of the archive. This operation quickly adds the \fIfiles\fP to the archive without checking for duplicates that should be removed first. If no \fIfiles\fP are specified, the archive is not modified. Because of the way that \fBllvm\-ar\fP constructs the archive file, its dubious whether the \fIq\fP operation is any faster than the \fIr\fP operation. .UNINDENT .UNINDENT .sp r[abu] .INDENT 0.0 .INDENT 3.5 Replace or insert file members. The \fIa\fP, \fIb\fP, and \fIu\fP modifiers apply to this operation. This operation will replace existing \fIfiles\fP or insert them at the end of the archive if they do not exist. If no \fIfiles\fP are specified, the archive is not modified. .UNINDENT .UNINDENT .sp t[v] .INDENT 0.0 .INDENT 3.5 Print the table of contents. Without any modifiers, this operation just prints the names of the members to the standard output. With the \fIv\fP modifier, \fBllvm\-ar\fP also prints out the file type (B=bitcode, S=symbol table, blank=regular file), the permission mode, the owner and group, the size, and the date. If any \fIfiles\fP are specified, the listing is only for those files. If no \fIfiles\fP are specified, the table of contents for the whole archive is printed. .UNINDENT .UNINDENT .sp x[oP] .INDENT 0.0 .INDENT 3.5 Extract archive members back to files. The \fIo\fP modifier applies to this operation. This operation retrieves the indicated \fIfiles\fP from the archive and writes them back to the operating system\(aqs file system. If no \fIfiles\fP are specified, the entire archive is extract. .UNINDENT .UNINDENT .SS Modifiers (operation specific) .sp The modifiers below are specific to certain operations. See the Operations section (above) to determine which modifiers are applicable to which operations. .sp [a] .INDENT 0.0 .INDENT 3.5 When inserting or moving member files, this option specifies the destination of the new files as being after the \fIrelpos\fP member. If \fIrelpos\fP is not found, the files are placed at the end of the archive. .UNINDENT .UNINDENT .sp [b] .INDENT 0.0 .INDENT 3.5 When inserting or moving member files, this option specifies the destination of the new files as being before the \fIrelpos\fP member. If \fIrelpos\fP is not found, the files are placed at the end of the archive. This modifier is identical to the \fIi\fP modifier. .UNINDENT .UNINDENT .sp [i] .INDENT 0.0 .INDENT 3.5 A synonym for the \fIb\fP option. .UNINDENT .UNINDENT .sp [o] .INDENT 0.0 .INDENT 3.5 When extracting files, this option will cause \fBllvm\-ar\fP to preserve the original modification times of the files it writes. .UNINDENT .UNINDENT .sp [u] .INDENT 0.0 .INDENT 3.5 When replacing existing files in the archive, only replace those files that have a time stamp than the time stamp of the member in the archive. .UNINDENT .UNINDENT .SS Modifiers (generic) .sp The modifiers below may be applied to any operation. .sp [c] .INDENT 0.0 .INDENT 3.5 For all operations, \fBllvm\-ar\fP will always create the archive if it doesn\(aqt exist. Normally, \fBllvm\-ar\fP will print a warning message indicating that the archive is being created. Using this modifier turns off that warning. .UNINDENT .UNINDENT .sp [s] .INDENT 0.0 .INDENT 3.5 This modifier requests that an archive index (or symbol table) be added to the archive. This is the default mode of operation. The symbol table will contain all the externally visible functions and global variables defined by all the bitcode files in the archive. .UNINDENT .UNINDENT .sp [S] .INDENT 0.0 .INDENT 3.5 This modifier is the opposite of the \fIs\fP modifier. It instructs \fBllvm\-ar\fP to not build the symbol table. If both \fIs\fP and \fIS\fP are used, the last modifier to occur in the options will prevail. .UNINDENT .UNINDENT .sp [v] .INDENT 0.0 .INDENT 3.5 This modifier instructs \fBllvm\-ar\fP to be verbose about what it is doing. Each editing operation taken against the archive will produce a line of output saying what is being done. .UNINDENT .UNINDENT .SH STANDARDS .sp The \fBllvm\-ar\fP utility is intended to provide a superset of the IEEE Std 1003.2 (POSIX.2) functionality for \fBar\fP\&. \fBllvm\-ar\fP can read both SVR4 and BSD4.4 (or Mac OS X) archives. If the \fBf\fP modifier is given to the \fBx\fP or \fBr\fP operations then \fBllvm\-ar\fP will write SVR4 compatible archives. Without this modifier, \fBllvm\-ar\fP will write BSD4.4 compatible archives that have long names immediately after the header and indicated using the "#1/ddd" notation for the name in the header. .SH FILE FORMAT .sp The file format for LLVM Archive files is similar to that of BSD 4.4 or Mac OSX archive files. In fact, except for the symbol table, the \fBar\fP commands on those operating systems should be able to read LLVM archive files. The details of the file format follow. .sp Each archive begins with the archive magic number which is the eight printable characters "!n" where n represents the newline character (0x0A). Following the magic number, the file is composed of even length members that begin with an archive header and end with a n padding character if necessary (to make the length even). Each file member is composed of a header (defined below), an optional newline\-terminated "long file name" and the contents of the file. .sp The fields of the header are described in the items below. All fields of the header contain only ASCII characters, are left justified and are right padded with space characters. .sp name \- char[16] .INDENT 0.0 .INDENT 3.5 This field of the header provides the name of the archive member. If the name is longer than 15 characters or contains a slash (/) character, then this field contains \fB#1/nnn\fP where \fBnnn\fP provides the length of the name and the \fB#1/\fP is literal. In this case, the actual name of the file is provided in the \fBnnn\fP bytes immediately following the header. If the name is 15 characters or less, it is contained directly in this field and terminated with a slash (/) character. .UNINDENT .UNINDENT .sp date \- char[12] .INDENT 0.0 .INDENT 3.5 This field provides the date of modification of the file in the form of a decimal encoded number that provides the number of seconds since the epoch (since 00:00:00 Jan 1, 1970) per Posix specifications. .UNINDENT .UNINDENT .sp uid \- char[6] .INDENT 0.0 .INDENT 3.5 This field provides the user id of the file encoded as a decimal ASCII string. This field might not make much sense on non\-Unix systems. On Unix, it is the same value as the st_uid field of the stat structure returned by the stat(2) operating system call. .UNINDENT .UNINDENT .sp gid \- char[6] .INDENT 0.0 .INDENT 3.5 This field provides the group id of the file encoded as a decimal ASCII string. This field might not make much sense on non\-Unix systems. On Unix, it is the same value as the st_gid field of the stat structure returned by the stat(2) operating system call. .UNINDENT .UNINDENT .sp mode \- char[8] .INDENT 0.0 .INDENT 3.5 This field provides the access mode of the file encoded as an octal ASCII string. This field might not make much sense on non\-Unix systems. On Unix, it is the same value as the st_mode field of the stat structure returned by the stat(2) operating system call. .UNINDENT .UNINDENT .sp size \- char[10] .INDENT 0.0 .INDENT 3.5 This field provides the size of the file, in bytes, encoded as a decimal ASCII string. .UNINDENT .UNINDENT .sp fmag \- char[2] .INDENT 0.0 .INDENT 3.5 This field is the archive file member magic number. Its content is always the two characters back tick (0x60) and newline (0x0A). This provides some measure utility in identifying archive files that have been corrupted. .UNINDENT .UNINDENT .sp offset \- vbr encoded 32\-bit integer .INDENT 0.0 .INDENT 3.5 The offset item provides the offset into the archive file where the bitcode member is stored that is associated with the symbol. The offset value is 0 based at the start of the first "normal" file member. To derive the actual file offset of the member, you must add the number of bytes occupied by the file signature (8 bytes) and the symbol tables. The value of this item is encoded using variable bit rate encoding to reduce the size of the symbol table. Variable bit rate encoding uses the high bit (0x80) of each byte to indicate if there are more bytes to follow. The remaining 7 bits in each byte carry bits from the value. The final byte does not have the high bit set. .UNINDENT .UNINDENT .sp length \- vbr encoded 32\-bit integer .INDENT 0.0 .INDENT 3.5 The length item provides the length of the symbol that follows. Like this \fIoffset\fP item, the length is variable bit rate encoded. .UNINDENT .UNINDENT .sp symbol \- character array .INDENT 0.0 .INDENT 3.5 The symbol item provides the text of the symbol that is associated with the \fIoffset\fP\&. The symbol is not terminated by any character. Its length is provided by the \fIlength\fP field. Note that is allowed (but unwise) to use non\-printing characters (even 0x00) in the symbol. This allows for multiple encodings of symbol names. .UNINDENT .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-ar\fP succeeds, it will exit with 0. A usage error, results in an exit code of 1. A hard (file system typically) error results in an exit code of 2. Miscellaneous or unknown errors result in an exit code of 3. .SH SEE ALSO .sp ar(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-as/llvm-as.1 =================================================================== --- head/usr.bin/clang/llvm-as/llvm-as.1 (revision 276914) +++ head/usr.bin/clang/llvm-as/llvm-as.1 (revision 276915) @@ -1,87 +1,87 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AS" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-AS" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-as \- LLVM assembler . .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 \fBllvm\-as\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp \fBllvm\-as\fP is the LLVM assembler. It reads a file containing human\-readable LLVM assembly language, translates it to LLVM bitcode, and writes the result into a file or to standard output. .sp If \fIfilename\fP is omitted or is \fB\-\fP, then \fBllvm\-as\fP reads its input from standard input. .sp If an output file is not specified with the \fB\-o\fP option, then \fBllvm\-as\fP sends its output to a file or standard output by following these rules: .INDENT 0.0 .IP \(bu 2 If the input is standard input, then the output is standard output. .IP \(bu 2 If the input is a file that ends with \fB\&.ll\fP, then the output file is of the same name, except that the suffix is changed to \fB\&.bc\fP\&. .IP \(bu 2 If the input is a file that does not end with the \fB\&.ll\fP suffix, then the output file has the same name as the input file, except that the \fB\&.bc\fP suffix is appended. .UNINDENT .SH OPTIONS .INDENT 0.0 .TP .B \fB\-f\fP Enable binary output on terminals. Normally, \fBllvm\-as\fP will refuse to write raw bitcode output if the output stream is a terminal. With this option, \fBllvm\-as\fP will write raw bitcode regardless of the output device. .TP .B \fB\-help\fP Print a summary of command line options. .TP .B \fB\-o\fP \fIfilename\fP Specify the output file name. If \fIfilename\fP is \fB\-\fP, then \fBllvm\-as\fP sends its output to standard output. .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-as\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp llvm\-dis|llvm\-dis, gccas|gccas .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 =================================================================== --- head/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 (revision 276914) +++ head/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 (revision 276915) @@ -1,476 +1,476 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-BCANALYZER" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-BCANALYZER" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-bcanalyzer \- LLVM bitcode analyzer . .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 \fBllvm\-bcanalyzer\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp The \fBllvm\-bcanalyzer\fP command is a small utility for analyzing bitcode files. The tool reads a bitcode file (such as generated with the \fBllvm\-as\fP tool) and produces a statistical report on the contents of the bitcode file. The tool can also dump a low level but human readable version of the bitcode file. This tool is probably not of much interest or utility except for those working directly with the bitcode file format. Most LLVM users can just ignore this tool. .sp If \fIfilename\fP is omitted or is \fB\-\fP, then \fBllvm\-bcanalyzer\fP reads its input from standard input. This is useful for combining the tool into a pipeline. Output is written to the standard output. .SH OPTIONS .INDENT 0.0 .TP .B \-nodetails Causes \fBllvm\-bcanalyzer\fP to abbreviate its output by writing out only a module level summary. The details for individual functions are not displayed. .UNINDENT .INDENT 0.0 .TP .B \-dump Causes \fBllvm\-bcanalyzer\fP to dump the bitcode in a human readable format. This format is significantly different from LLVM assembly and provides details about the encoding of the bitcode file. .UNINDENT .INDENT 0.0 .TP .B \-verify Causes \fBllvm\-bcanalyzer\fP to verify the module produced by reading the bitcode. This ensures that the statistics generated are based on a consistent module. .UNINDENT .INDENT 0.0 .TP .B \-help Print a summary of command line options. .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-bcanalyzer\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value, usually 1. .SH SUMMARY OUTPUT DEFINITIONS .sp The following items are always printed by llvm\-bcanalyzer. They comprize the summary output. .sp \fBBitcode Analysis Of Module\fP .INDENT 0.0 .INDENT 3.5 This just provides the name of the module for which bitcode analysis is being generated. .UNINDENT .UNINDENT .sp \fBBitcode Version Number\fP .INDENT 0.0 .INDENT 3.5 The bitcode version (not LLVM version) of the file read by the analyzer. .UNINDENT .UNINDENT .sp \fBFile Size\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of the entire bitcode file. .UNINDENT .UNINDENT .sp \fBModule Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of the module block. Percentage is relative to File Size. .UNINDENT .UNINDENT .sp \fBFunction Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of all the function blocks. Percentage is relative to File Size. .UNINDENT .UNINDENT .sp \fBGlobal Types Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of the Global Types Pool. Percentage is relative to File Size. This is the size of the definitions of all types in the bitcode file. .UNINDENT .UNINDENT .sp \fBConstant Pool Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of the Constant Pool Blocks Percentage is relative to File Size. .UNINDENT .UNINDENT .sp \fBModule Globals Bytes\fP .INDENT 0.0 .INDENT 3.5 Ths size, in bytes, of the Global Variable Definitions and their initializers. Percentage is relative to File Size. .UNINDENT .UNINDENT .sp \fBInstruction List Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of all the instruction lists in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes. .UNINDENT .UNINDENT .sp \fBCompaction Table Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of all the compaction tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes. .UNINDENT .UNINDENT .sp \fBSymbol Table Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of all the symbol tables in all the functions. Percentage is relative to File Size. Note that this value is also included in the Function Bytes. .UNINDENT .UNINDENT .sp \fBDependent Libraries Bytes\fP .INDENT 0.0 .INDENT 3.5 The size, in bytes, of the list of dependent libraries in the module. Percentage is relative to File Size. Note that this value is also included in the Module Global Bytes. .UNINDENT .UNINDENT .sp \fBNumber Of Bitcode Blocks\fP .INDENT 0.0 .INDENT 3.5 The total number of blocks of any kind in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Functions\fP .INDENT 0.0 .INDENT 3.5 The total number of function definitions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Types\fP .INDENT 0.0 .INDENT 3.5 The total number of types defined in the Global Types Pool. .UNINDENT .UNINDENT .sp \fBNumber Of Constants\fP .INDENT 0.0 .INDENT 3.5 The total number of constants (of any type) defined in the Constant Pool. .UNINDENT .UNINDENT .sp \fBNumber Of Basic Blocks\fP .INDENT 0.0 .INDENT 3.5 The total number of basic blocks defined in all functions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Instructions\fP .INDENT 0.0 .INDENT 3.5 The total number of instructions defined in all functions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Long Instructions\fP .INDENT 0.0 .INDENT 3.5 The total number of long instructions defined in all functions in the bitcode file. Long instructions are those taking greater than 4 bytes. Typically long instructions are GetElementPtr with several indices, PHI nodes, and calls to functions with large numbers of arguments. .UNINDENT .UNINDENT .sp \fBNumber Of Operands\fP .INDENT 0.0 .INDENT 3.5 The total number of operands used in all instructions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Compaction Tables\fP .INDENT 0.0 .INDENT 3.5 The total number of compaction tables in all functions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Symbol Tables\fP .INDENT 0.0 .INDENT 3.5 The total number of symbol tables in all functions in the bitcode file. .UNINDENT .UNINDENT .sp \fBNumber Of Dependent Libs\fP .INDENT 0.0 .INDENT 3.5 The total number of dependent libraries found in the bitcode file. .UNINDENT .UNINDENT .sp \fBTotal Instruction Size\fP .INDENT 0.0 .INDENT 3.5 The total size of the instructions in all functions in the bitcode file. .UNINDENT .UNINDENT .sp \fBAverage Instruction Size\fP .INDENT 0.0 .INDENT 3.5 The average number of bytes per instruction across all functions in the bitcode file. This value is computed by dividing Total Instruction Size by Number Of Instructions. .UNINDENT .UNINDENT .sp \fBMaximum Type Slot Number\fP .INDENT 0.0 .INDENT 3.5 The maximum value used for a type\(aqs slot number. Larger slot number values take more bytes to encode. .UNINDENT .UNINDENT .sp \fBMaximum Value Slot Number\fP .INDENT 0.0 .INDENT 3.5 The maximum value used for a value\(aqs slot number. Larger slot number values take more bytes to encode. .UNINDENT .UNINDENT .sp \fBBytes Per Value\fP .INDENT 0.0 .INDENT 3.5 The average size of a Value definition (of any type). This is computed by dividing File Size by the total number of values of any type. .UNINDENT .UNINDENT .sp \fBBytes Per Global\fP .INDENT 0.0 .INDENT 3.5 The average size of a global definition (constants and global variables). .UNINDENT .UNINDENT .sp \fBBytes Per Function\fP .INDENT 0.0 .INDENT 3.5 The average number of bytes per function definition. This is computed by dividing Function Bytes by Number Of Functions. .UNINDENT .UNINDENT .sp \fB# of VBR 32\-bit Integers\fP .INDENT 0.0 .INDENT 3.5 The total number of 32\-bit integers encoded using the Variable Bit Rate encoding scheme. .UNINDENT .UNINDENT .sp \fB# of VBR 64\-bit Integers\fP .INDENT 0.0 .INDENT 3.5 The total number of 64\-bit integers encoded using the Variable Bit Rate encoding scheme. .UNINDENT .UNINDENT .sp \fB# of VBR Compressed Bytes\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes consumed by the 32\-bit and 64\-bit integers that use the Variable Bit Rate encoding scheme. .UNINDENT .UNINDENT .sp \fB# of VBR Expanded Bytes\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes that would have been consumed by the 32\-bit and 64\-bit integers had they not been compressed with the Variable Bit Rage encoding scheme. .UNINDENT .UNINDENT .sp \fBBytes Saved With VBR\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes saved by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes. .UNINDENT .UNINDENT .SH DETAILED OUTPUT DEFINITIONS .sp The following definitions occur only if the \-nodetails option was not given. The detailed output provides additional information on a per\-function basis. .sp \fBType\fP .INDENT 0.0 .INDENT 3.5 The type signature of the function. .UNINDENT .UNINDENT .sp \fBByte Size\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes in the function\(aqs block. .UNINDENT .UNINDENT .sp \fBBasic Blocks\fP .INDENT 0.0 .INDENT 3.5 The number of basic blocks defined by the function. .UNINDENT .UNINDENT .sp \fBInstructions\fP .INDENT 0.0 .INDENT 3.5 The number of instructions defined by the function. .UNINDENT .UNINDENT .sp \fBLong Instructions\fP .INDENT 0.0 .INDENT 3.5 The number of instructions using the long instruction format in the function. .UNINDENT .UNINDENT .sp \fBOperands\fP .INDENT 0.0 .INDENT 3.5 The number of operands used by all instructions in the function. .UNINDENT .UNINDENT .sp \fBInstruction Size\fP .INDENT 0.0 .INDENT 3.5 The number of bytes consumed by instructions in the function. .UNINDENT .UNINDENT .sp \fBAverage Instruction Size\fP .INDENT 0.0 .INDENT 3.5 The average number of bytes consumed by the instructions in the function. This value is computed by dividing Instruction Size by Instructions. .UNINDENT .UNINDENT .sp \fBBytes Per Instruction\fP .INDENT 0.0 .INDENT 3.5 The average number of bytes used by the function per instruction. This value is computed by dividing Byte Size by Instructions. Note that this is not the same as Average Instruction Size. It computes a number relative to the total function size not just the size of the instruction list. .UNINDENT .UNINDENT .sp \fBNumber of VBR 32\-bit Integers\fP .INDENT 0.0 .INDENT 3.5 The total number of 32\-bit integers found in this function (for any use). .UNINDENT .UNINDENT .sp \fBNumber of VBR 64\-bit Integers\fP .INDENT 0.0 .INDENT 3.5 The total number of 64\-bit integers found in this function (for any use). .UNINDENT .UNINDENT .sp \fBNumber of VBR Compressed Bytes\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes in this function consumed by the 32\-bit and 64\-bit integers that use the Variable Bit Rate encoding scheme. .UNINDENT .UNINDENT .sp \fBNumber of VBR Expanded Bytes\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes in this function that would have been consumed by the 32\-bit and 64\-bit integers had they not been compressed with the Variable Bit Rate encoding scheme. .UNINDENT .UNINDENT .sp \fBBytes Saved With VBR\fP .INDENT 0.0 .INDENT 3.5 The total number of bytes saved in this function by using the Variable Bit Rate encoding scheme. The percentage is relative to # of VBR Expanded Bytes. .UNINDENT .UNINDENT .SH SEE ALSO .sp \fB/CommandGuide/llvm\-dis\fP, \fB/BitCodeFormat\fP .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-diff/llvm-diff.1 =================================================================== --- head/usr.bin/clang/llvm-diff/llvm-diff.1 (revision 276914) +++ head/usr.bin/clang/llvm-diff/llvm-diff.1 (revision 276915) @@ -1,77 +1,77 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIFF" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-DIFF" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-diff \- LLVM structural 'diff' . .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 \fBllvm\-diff\fP [\fIoptions\fP] \fImodule 1\fP \fImodule 2\fP [\fIglobal name ...\fP] .SH DESCRIPTION .sp \fBllvm\-diff\fP compares the structure of two LLVM modules, primarily focusing on differences in function definitions. Insignificant differences, such as changes in the ordering of globals or in the names of local values, are ignored. .sp An input module will be interpreted as an assembly file if its name ends in \(aq.ll\(aq; otherwise it will be read in as a bitcode file. .sp If a list of global names is given, just the values with those names are compared; otherwise, all global values are compared, and diagnostics are produced for globals which only appear in one module or the other. .sp \fBllvm\-diff\fP compares two functions by comparing their basic blocks, beginning with the entry blocks. If the terminators seem to match, then the corresponding successors are compared; otherwise they are ignored. This algorithm is very sensitive to changes in control flow, which tend to stop any downstream changes from being detected. .sp \fBllvm\-diff\fP is intended as a debugging tool for writers of LLVM passes and frontends. It does not have a stable output format. .SH EXIT STATUS .sp If \fBllvm\-diff\fP finds no differences between the modules, it will exit with 0 and produce no output. Otherwise it will exit with a non\-zero value. .SH BUGS .sp Many important differences, like changes in linkage or function attributes, are not diagnosed. .sp Changes in memory behavior (for example, coalescing loads) can cause massive detected differences in blocks. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-dis/llvm-dis.1 =================================================================== --- head/usr.bin/clang/llvm-dis/llvm-dis.1 (revision 276914) +++ head/usr.bin/clang/llvm-dis/llvm-dis.1 (revision 276915) @@ -1,88 +1,88 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-DIS" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-DIS" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-dis \- LLVM disassembler . .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 \fBllvm\-dis\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp The \fBllvm\-dis\fP command is the LLVM disassembler. It takes an LLVM bitcode file and converts it into human\-readable LLVM assembly language. .sp If filename is omitted or specified as \fB\-\fP, \fBllvm\-dis\fP reads its input from standard input. .sp If the input is being read from standard input, then \fBllvm\-dis\fP will send its output to standard output by default. Otherwise, the output will be written to a file named after the input file, with a \fB\&.ll\fP suffix added (any existing \fB\&.bc\fP suffix will first be removed). You can override the choice of output file using the \fB\-o\fP option. .SH OPTIONS .sp \fB\-f\fP .INDENT 0.0 .INDENT 3.5 Enable binary output on terminals. Normally, \fBllvm\-dis\fP will refuse to write raw bitcode output if the output stream is a terminal. With this option, \fBllvm\-dis\fP will write raw bitcode regardless of the output device. .UNINDENT .UNINDENT .sp \fB\-help\fP .INDENT 0.0 .INDENT 3.5 Print a summary of command line options. .UNINDENT .UNINDENT .sp \fB\-o\fP \fIfilename\fP .INDENT 0.0 .INDENT 3.5 Specify the output file name. If \fIfilename\fP is \-, then the output is sent to standard output. .UNINDENT .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-dis\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp llvm\-as|llvm\-as .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-extract/llvm-extract.1 =================================================================== --- head/usr.bin/clang/llvm-extract/llvm-extract.1 (revision 276914) +++ head/usr.bin/clang/llvm-extract/llvm-extract.1 (revision 276915) @@ -1,129 +1,129 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-EXTRACT" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-EXTRACT" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-extract \- extract a function from an LLVM module . .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 \fBllvm\-extract\fP [\fIoptions\fP] \fB\-\-func\fP \fIfunction\-name\fP [\fIfilename\fP] .SH DESCRIPTION .sp The \fBllvm\-extract\fP command takes the name of a function and extracts it from the specified LLVM bitcode file. It is primarily used as a debugging tool to reduce test cases from larger programs that are triggering a bug. .sp In addition to extracting the bitcode of the specified function, \fBllvm\-extract\fP will also remove unreachable global variables, prototypes, and unused types. .sp The \fBllvm\-extract\fP command reads its input from standard input if filename is omitted or if filename is \fB\-\fP\&. The output is always written to standard output, unless the \fB\-o\fP option is specified (see below). .SH OPTIONS .sp \fB\-f\fP .INDENT 0.0 .INDENT 3.5 Enable binary output on terminals. Normally, \fBllvm\-extract\fP will refuse to write raw bitcode output if the output stream is a terminal. With this option, \fBllvm\-extract\fP will write raw bitcode regardless of the output device. .UNINDENT .UNINDENT .sp \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 specified multiple times to extract multiple functions at once. .UNINDENT .UNINDENT .sp \fB\-\-rfunc\fP \fIfunction\-regular\-expr\fP .INDENT 0.0 .INDENT 3.5 Extract the function(s) matching \fIfunction\-regular\-expr\fP from the LLVM bitcode. All functions matching the regular expression will be extracted. May be specified multiple times. .UNINDENT .UNINDENT .sp \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 specified multiple times to extract multiple global variables at once. .UNINDENT .UNINDENT .sp \fB\-\-rglob\fP \fIglob\-regular\-expr\fP .INDENT 0.0 .INDENT 3.5 Extract the global variable(s) matching \fIglobal\-regular\-expr\fP from the LLVM bitcode. All global variables matching the regular expression will be extracted. May be specified multiple times. .UNINDENT .UNINDENT .sp \fB\-help\fP .INDENT 0.0 .INDENT 3.5 Print a summary of command line options. .UNINDENT .UNINDENT .sp \fB\-o\fP \fIfilename\fP .INDENT 0.0 .INDENT 3.5 Specify the output filename. If filename is "\-" (the default), then \fBllvm\-extract\fP sends its output to standard output. .UNINDENT .UNINDENT .sp \fB\-S\fP .INDENT 0.0 .INDENT 3.5 Write output in LLVM intermediate language (instead of bitcode). .UNINDENT .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-extract\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp bugpoint .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-link/llvm-link.1 =================================================================== --- head/usr.bin/clang/llvm-link/llvm-link.1 (revision 276914) +++ head/usr.bin/clang/llvm-link/llvm-link.1 (revision 276915) @@ -1,89 +1,89 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-LINK" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-LINK" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-link \- LLVM bitcode linker . .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 \fBllvm\-link\fP [\fIoptions\fP] \fIfilename ...\fP .SH DESCRIPTION .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. .SH OPTIONS .INDENT 0.0 .TP .B \-f Enable binary output on terminals. Normally, \fBllvm\-link\fP will refuse to write raw bitcode output if the output stream is a terminal. With this option, \fBllvm\-link\fP will write raw bitcode regardless of the output device. .UNINDENT .INDENT 0.0 .TP .B \-o filename Specify the output file name. If \fBfilename\fP is "\fB\-\fP", then \fBllvm\-link\fP will write its output to standard output. .UNINDENT .INDENT 0.0 .TP .B \-S Write output in LLVM intermediate language (instead of bitcode). .UNINDENT .INDENT 0.0 .TP .B \-d If specified, \fBllvm\-link\fP prints a human\-readable version of the output bitcode file to standard error. .UNINDENT .INDENT 0.0 .TP .B \-help Print a summary of command line options. .UNINDENT .INDENT 0.0 .TP .B \-v Verbose mode. Print information about what \fBllvm\-link\fP is doing. This typically includes a message for each bitcode file linked in and for each library found. .UNINDENT .SH EXIT STATUS .sp If \fBllvm\-link\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/llvm-nm/llvm-nm.1 =================================================================== --- head/usr.bin/clang/llvm-nm/llvm-nm.1 (revision 276914) +++ head/usr.bin/clang/llvm-nm/llvm-nm.1 (revision 276915) @@ -1,213 +1,213 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-NM" "1" "2014-01-01" "3.4" "LLVM" +.TH "LLVM-NM" "1" "2015-01-10" "3.5" "LLVM" .SH NAME llvm-nm \- list LLVM bitcode and object file's symbol table . .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 \fBllvm\-nm\fP [\fIoptions\fP] [\fIfilenames...\fP] .SH DESCRIPTION .sp The \fBllvm\-nm\fP utility lists the names of symbols from the LLVM bitcode files, object files, or \fBar\fP archives containing them, named on the command line. Each symbol is listed along with some simple information about its provenance. If no file name is specified, or \fI\-\fP is used as a file name, \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 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. When the address is omitted, it is replaced by 8 spaces. .sp Type code characters currently supported, and their meanings, are as follows: .sp U .INDENT 0.0 .INDENT 3.5 Named object is referenced but undefined in this bitcode file .UNINDENT .UNINDENT .sp C .INDENT 0.0 .INDENT 3.5 Common (multiple definitions link together into one def) .UNINDENT .UNINDENT .sp W .INDENT 0.0 .INDENT 3.5 Weak reference (multiple definitions link together into zero or one definitions) .UNINDENT .UNINDENT .sp t .INDENT 0.0 .INDENT 3.5 Local function (text) object .UNINDENT .UNINDENT .sp T .INDENT 0.0 .INDENT 3.5 Global function (text) object .UNINDENT .UNINDENT .sp d .INDENT 0.0 .INDENT 3.5 Local data object .UNINDENT .UNINDENT .sp D .INDENT 0.0 .INDENT 3.5 Global data object .UNINDENT .UNINDENT .sp ? .INDENT 0.0 .INDENT 3.5 Something unrecognizable .UNINDENT .UNINDENT .sp Because LLVM bitcode files typically contain objects that are not considered to have addresses until they are linked into an executable image or dynamically compiled "just\-in\-time", \fBllvm\-nm\fP does not print an address for any symbol in an LLVM bitcode file, even symbols which are defined in the bitcode file. .SH OPTIONS .INDENT 0.0 .TP .B \-B (default) Use BSD output format. Alias for \fI\-\-format=bsd\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-P Use POSIX.2 output format. Alias for \fI\-\-format=posix\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-\-debug\-syms, \-a Show all symbols, even debugger only. .UNINDENT .INDENT 0.0 .TP .B \-\-defined\-only Print only symbols defined in this file (as opposed to symbols which may be referenced by objects in this file, but not defined in this file.) .UNINDENT .INDENT 0.0 .TP .B \-\-dynamic, \-D Display dynamic symbols instead of normal symbols. .UNINDENT .INDENT 0.0 .TP .B \-\-extern\-only, \-g Print only symbols whose definitions are external; that is, accessible from other files. .UNINDENT .INDENT 0.0 .TP .B \-\-format=format, \-f format Select an output format; \fIformat\fP may be \fIsysv\fP, \fIposix\fP, or \fIbsd\fP\&. The default is \fIbsd\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-help Print a summary of command\-line options and their meanings. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-sort, \-p Shows symbols in order encountered. .UNINDENT .INDENT 0.0 .TP .B \-\-numeric\-sort, \-n, \-v Sort symbols by address. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-file\-name, \-A, \-o Precede each symbol with the file it came from. .UNINDENT .INDENT 0.0 .TP .B \-\-print\-size, \-S Show symbol size instead of address. .UNINDENT .INDENT 0.0 .TP .B \-\-size\-sort Sort symbols by size. .UNINDENT .INDENT 0.0 .TP .B \-\-undefined\-only, \-u Print only symbols referenced but not defined in this file. .UNINDENT .SH BUGS .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fBllvm\-nm\fP cannot demangle C++ mangled names, like GNU \fBnm\fP can. .IP \(bu 2 \fBllvm\-nm\fP does not support the full set of arguments that GNU \fBnm\fP does. .UNINDENT .UNINDENT .UNINDENT .SH EXIT STATUS .sp \fBllvm\-nm\fP exits with an exit code of zero. .SH SEE ALSO .sp llvm\-dis, ar(1), nm(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/opt/opt.1 =================================================================== --- head/usr.bin/clang/opt/opt.1 (revision 276914) +++ head/usr.bin/clang/opt/opt.1 (revision 276915) @@ -1,198 +1,192 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "OPT" "1" "2014-01-01" "3.4" "LLVM" +.TH "OPT" "1" "2015-01-10" "3.5" "LLVM" .SH NAME opt \- LLVM optimizer . .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 \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 \fI\-analyze\fP option is given. .sp 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 \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 \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 \fI\%\-o\fP option, \fBopt\fP writes its output to the standard output. .SH OPTIONS .INDENT 0.0 .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, \fBopt\fP will write raw bitcode regardless of the output device. .UNINDENT .INDENT 0.0 .TP .B \-help Print a summary of command line options. .UNINDENT .INDENT 0.0 .TP .B \-o Specify the output filename. .UNINDENT .INDENT 0.0 .TP .B \-S Write output in LLVM intermediate language (instead of bitcode). .UNINDENT .INDENT 0.0 .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 .INDENT 0.0 .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: +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 llvm\-as < /dev/null | opt \-std\-compile\-opts \-disable\-output \-debug\-pass=Arguments .ft P .fi .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .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 .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 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 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 .INDENT 0.0 .TP -.B \-profile\-info\-file -Specify the name of the file loaded by the \fB\-profile\-loader\fP option. -.UNINDENT -.INDENT 0.0 -.TP .B \-stats Print statistics. .UNINDENT .INDENT 0.0 .TP .B \-time\-passes Record the amount of time needed for each pass and print it to standard error. .UNINDENT .INDENT 0.0 .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\(aqs Manual\fP, section \fB#DEBUG\fP for more information. .UNINDENT .INDENT 0.0 .TP .B \-load= 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 .sp .nf .ft C opt \-load=plugin.so \-help .ft P .fi .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-p Print module after each transformation. .UNINDENT .SH EXIT STATUS .sp If \fBopt\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. . Index: head/usr.bin/clang/tblgen/tblgen.1 =================================================================== --- head/usr.bin/clang/tblgen/tblgen.1 (revision 276914) +++ head/usr.bin/clang/tblgen/tblgen.1 (revision 276915) @@ -1,182 +1,182 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "TBLGEN" "1" "2014-01-01" "3.4" "LLVM" +.TH "TBLGEN" "1" "2015-01-10" "3.5" "LLVM" .SH NAME tblgen \- Target Description To C++ Code Generator . .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 \fBtblgen\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp \fBtblgen\fP translates from target description (\fB\&.td\fP) files into C++ code that can be included in the definition of an LLVM target library. Most users of LLVM will not need to use this program. It is only for assisting with writing an LLVM target backend. .sp The input and output of \fBtblgen\fP is beyond the scope of this short -introduction. Please see \fB\&../TableGenFundamentals\fP\&. +introduction; please see the \fBintroduction to TableGen\fP\&. .sp The \fIfilename\fP argument specifies the name of a Target Description (\fB\&.td\fP) file to read as input. .SH OPTIONS .INDENT 0.0 .TP .B \-help Print a summary of command line options. .UNINDENT .INDENT 0.0 .TP .B \-o filename Specify the output file name. If \fBfilename\fP is \fB\-\fP, then \fBtblgen\fP sends its output to standard output. .UNINDENT .INDENT 0.0 .TP .B \-I directory Specify where to find other target description files for inclusion. The \fBdirectory\fP value should be a full or partial path to a directory that contains target description files. .UNINDENT .INDENT 0.0 .TP .B \-asmparsernum N Make \-gen\-asm\-parser emit assembly writer number \fBN\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-asmwriternum N Make \-gen\-asm\-writer emit assembly writer number \fBN\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-class className Print the enumeration list for this class. .UNINDENT .INDENT 0.0 .TP .B \-print\-records Print all records to standard output (default). .UNINDENT .INDENT 0.0 .TP .B \-print\-enums Print enumeration values for a class. .UNINDENT .INDENT 0.0 .TP .B \-print\-sets Print expanded sets for testing DAG exprs. .UNINDENT .INDENT 0.0 .TP .B \-gen\-emitter Generate machine code emitter. .UNINDENT .INDENT 0.0 .TP .B \-gen\-register\-info Generate registers and register classes info. .UNINDENT .INDENT 0.0 .TP .B \-gen\-instr\-info Generate instruction descriptions. .UNINDENT .INDENT 0.0 .TP .B \-gen\-asm\-writer Generate the assembly writer. .UNINDENT .INDENT 0.0 .TP .B \-gen\-disassembler Generate disassembler. .UNINDENT .INDENT 0.0 .TP .B \-gen\-pseudo\-lowering Generate pseudo instruction lowering. .UNINDENT .INDENT 0.0 .TP .B \-gen\-dag\-isel Generate a DAG (Directed Acycle Graph) instruction selector. .UNINDENT .INDENT 0.0 .TP .B \-gen\-asm\-matcher Generate assembly instruction matcher. .UNINDENT .INDENT 0.0 .TP .B \-gen\-dfa\-packetizer Generate DFA Packetizer for VLIW targets. .UNINDENT .INDENT 0.0 .TP .B \-gen\-fast\-isel Generate a "fast" instruction selector. .UNINDENT .INDENT 0.0 .TP .B \-gen\-subtarget Generate subtarget enumerations. .UNINDENT .INDENT 0.0 .TP .B \-gen\-intrinsic Generate intrinsic information. .UNINDENT .INDENT 0.0 .TP .B \-gen\-tgt\-intrinsic Generate target intrinsic information. .UNINDENT .INDENT 0.0 .TP .B \-gen\-enhanced\-disassembly\-info Generate enhanced disassembly info. .UNINDENT .INDENT 0.0 .TP .B \-version Show the version number of this program. .UNINDENT .SH EXIT STATUS .sp If \fBtblgen\fP succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non\-zero value. .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT -2003-2013, LLVM Project +2003-2014, LLVM Project .\" Generated by docutils manpage writer. .