diff options
Diffstat (limited to 'usr.bin/clang')
32 files changed, 2818 insertions, 3643 deletions
diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile index 1cfa57f..db5fae7 100644 --- a/usr.bin/clang/Makefile +++ b/usr.bin/clang/Makefile @@ -4,7 +4,7 @@ SUBDIR= clang clang-tblgen tblgen -.if ${MK_CLANG_EXTRAS} != "no" +.if ${MK_CLANG_EXTRAS} != "no" && !defined(TOOLS_PREFIX) SUBDIR+=bugpoint \ llc \ lli \ @@ -14,7 +14,6 @@ SUBDIR+=bugpoint \ llvm-diff \ llvm-dis \ llvm-extract \ - llvm-ld \ llvm-link \ llvm-mc \ llvm-nm \ @@ -22,7 +21,6 @@ SUBDIR+=bugpoint \ llvm-prof \ llvm-ranlib \ llvm-rtdyld \ - llvm-stub \ macho-dump \ opt .endif diff --git a/usr.bin/clang/bugpoint/bugpoint.1 b/usr.bin/clang/bugpoint/bugpoint.1 index b660e65..0e119a4 100644 --- a/usr.bin/clang/bugpoint/bugpoint.1 +++ b/usr.bin/clang/bugpoint/bugpoint.1 @@ -1,291 +1,284 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi +.TH "BUGPOINT" "1" "2012-08-16" "3.2" "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] .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.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 .. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "BUGPOINT 1" -.TH BUGPOINT 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -bugpoint \- automatic test case reduction tool -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBbugpoint\fR [\fIoptions\fR] [\fIinput \s-1LLVM\s0 ll/bc files\fR] [\fI\s-1LLVM\s0 passes\fR] \fB\-\-args\fR -\&\fIprogram arguments\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBbugpoint\fR narrows down the source of problems in \s-1LLVM\s0 tools and passes. It +.\" Man page generated from reStructuredText. +. +.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 \s-1JIT\s0 compilers). It aims to reduce large test cases to small, useful ones. -For more information on the design and inner workings of \fBbugpoint\fR, as well as -advice for using bugpoint, see \fIllvm/docs/Bugpoint.html\fR in the \s-1LLVM\s0 +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" -.IX Header "OPTIONS" -.IP "\fB\-\-additional\-so\fR \fIlibrary\fR" 4 -.IX Item "--additional-so library" -Load the dynamic shared object \fIlibrary\fR into the test program whenever it is -run. This is useful if you are debugging programs which depend on non-LLVM +.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. -.IP "\fB\-\-append\-exit\-code\fR=\fI{true,false}\fR" 4 -.IX Item "--append-exit-code={true,false}" +.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. -.IP "\fB\-\-args\fR \fIprogram args\fR" 4 -.IX Item "--args program args" +.UNINDENT +.UNINDENT +.sp +\fB\-\-args\fP \fIprogram args\fP +.INDENT 0.0 +.INDENT 3.5 Pass all arguments specified after \-args to the test program whenever it runs. -Note that if any of the \fIprogram args\fR start with a '\-', you should use: -.Sp -.Vb 1 -\& bugpoint [bugpoint args] \-\-args \-\- [program args] -.Ve -.Sp -The \*(L"\-\-\*(R" right after the \fB\-\-args\fR option tells \fBbugpoint\fR to consider any -options starting with \f(CW\*(C`\-\*(C'\fR to be part of the \fB\-\-args\fR option, not as options to -\&\fBbugpoint\fR itself. -.IP "\fB\-\-tool\-args\fR \fItool args\fR" 4 -.IX Item "--tool-args tool args" -Pass all arguments specified after \-\-tool\-args to the \s-1LLVM\s0 tool under test -(\fBllc\fR, \fBlli\fR, etc.) whenever it runs. You should use this option in the +Note that if any of the \fIprogram args\fP start with a \(aq\-\(aq, you should use: +.sp +.nf +.ft C +bugpoint [bugpoint args] \-\-args \-\- [program args] +.ft P +.fi +.sp +The "\-\-" 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 \-\-tool\-args to the LLVM tool under test +(\fBllc\fP, \fBlli\fP, etc.) whenever it runs. You should use this option in the following way: -.Sp -.Vb 1 -\& bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args] -.Ve -.Sp -The \*(L"\-\-\*(R" right after the \fB\-\-tool\-args\fR option tells \fBbugpoint\fR to consider any -options starting with \f(CW\*(C`\-\*(C'\fR to be part of the \fB\-\-tool\-args\fR option, not as -options to \fBbugpoint\fR itself. (See \fB\-\-args\fR, above.) -.IP "\fB\-\-safe\-tool\-args\fR \fItool args\fR" 4 -.IX Item "--safe-tool-args tool args" -Pass all arguments specified after \fB\-\-safe\-tool\-args\fR to the \*(L"safe\*(R" execution +.sp +.nf +.ft C +bugpoint [bugpoint args] \-\-tool\-args \-\- [tool args] +.ft P +.fi +.sp +The "\-\-" 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. -.IP "\fB\-\-gcc\-tool\-args\fR \fIgcc tool args\fR" 4 -.IX Item "--gcc-tool-args gcc tool args" -Pass all arguments specified after \fB\-\-gcc\-tool\-args\fR to the invocation of -\&\fBgcc\fR. -.IP "\fB\-\-opt\-args\fR \fIopt args\fR" 4 -.IX Item "--opt-args opt args" -Pass all arguments specified after \fB\-\-opt\-args\fR to the invocation of \fBopt\fR. -.IP "\fB\-\-disable\-{dce,simplifycfg}\fR" 4 -.IX Item "--disable-{dce,simplifycfg}" +.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\fR uses these passes internally when attempting to -reduce test programs. If you're trying to find a bug in one of these passes, -\&\fBbugpoint\fR may crash. -.IP "\fB\-\-enable\-valgrind\fR" 4 -.IX Item "--enable-valgrind" +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. -.IP "\fB\-find\-bugs\fR" 4 -.IX Item "-find-bugs" +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\fR. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +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. -.IP "\fB\-\-input\fR \fIfilename\fR" 4 -.IX Item "--input filename" -Open \fIfilename\fR and redirect the standard input of the test program, whenever +.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. -.IP "\fB\-\-load\fR \fIplugin\fR" 4 -.IX Item "--load plugin" -Load the dynamic object \fIplugin\fR into \fBbugpoint\fR itself. This object should +.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\fR and \fB\-\-load\fR options together; for example: -.Sp -.Vb 1 -\& bugpoint \-\-load myNewPass.so \-help -.Ve -.IP "\fB\-\-mlimit\fR \fImegabytes\fR" 4 -.IX Item "--mlimit megabytes" +optimizations, use the \fB\-help\fP and \fB\-\-load\fP options together; for example: +.sp +.nf +.ft C +bugpoint \-\-load myNewPass.so \-help +.ft P +.fi +.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. -.IP "\fB\-\-output\fR \fIfilename\fR" 4 -.IX Item "--output filename" +.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\fR (the \*(L"reference output\*(R"). If you -do not use this option, \fBbugpoint\fR will attempt to generate a reference output -by compiling the program with the \*(L"safe\*(R" backend and running it. -.IP "\fB\-\-profile\-info\-file\fR \fIfilename\fR" 4 -.IX Item "--profile-info-file filename" -Profile file loaded by \fB\-\-profile\-loader\fR. -.IP "\fB\-\-run\-{int,jit,llc,cbe,custom}\fR" 4 -.IX Item "--run-{int,jit,llc,cbe,custom}" -Whenever the test program is compiled, \fBbugpoint\fR should generate code for 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 \s-1JIT\s0 compiler, the static native code compiler, the C -backend, or a custom command (see \fB\-\-exec\-command\fR) respectively. -.IP "\fB\-\-safe\-{llc,cbe,custom}\fR" 4 -.IX Item "--safe-{llc,cbe,custom}" -When debugging a code generator, \fBbugpoint\fR should use the specified code -generator as the \*(L"safe\*(R" code generator. This is a known-good code generator -used to generate the \*(L"reference output\*(R" if it has not been provided, and to +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, the C backend, or a custom command, -(see \fB\-\-exec\-command\fR) respectively. The interpreter and the \s-1JIT\s0 backends -cannot currently be used as the \*(L"safe\*(R" backends. -.IP "\fB\-\-exec\-command\fR \fIcommand\fR" 4 -.IX Item "--exec-command command" -This option defines the command to use with the \fB\-\-run\-custom\fR and -\&\fB\-\-safe\-custom\fR options to execute the bitcode testcase. This can -be useful for cross-compilation. -.IP "\fB\-\-compile\-command\fR \fIcommand\fR" 4 -.IX Item "--compile-command command" -This option defines the command to use with the \fB\-\-compile\-custom\fR +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 \s-1CHECK\s0 directives to the -testcase and pass the name of an executable compile-command script in this form: -.Sp -.Vb 3 -\& #!/bin/sh -\& llc "$@" -\& not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s -.Ve -.Sp -This script will \*(L"fail\*(R" as long as FileCheck passes. So the result +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: +.sp +.nf +.ft C +#!/bin/sh +llc "$@" +not FileCheck [bugpoint input file].ll < bugpoint\-test\-program.s +.ft P +.fi +.sp +This script will "fail" as long as FileCheck passes. So the result will be the minimum bitcode that passes FileCheck. -.IP "\fB\-\-safe\-path\fR \fIpath\fR" 4 -.IX Item "--safe-path path" +.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,cbe,custom}\fR +\fB\-\-safe\-{int,jit,llc,custom}\fP option. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBbugpoint\fR 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" -.IX Header "SEE ALSO" -opt -.SH "AUTHOR" -.IX Header "AUTHOR" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.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 +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/clang-tblgen/Makefile b/usr.bin/clang/clang-tblgen/Makefile index aedbeb4..bc949ec 100644 --- a/usr.bin/clang/clang-tblgen/Makefile +++ b/usr.bin/clang/clang-tblgen/Makefile @@ -13,6 +13,7 @@ SRCS= ClangASTNodesEmitter.cpp \ TableGen.cpp LLVM_REQUIRES_EH= -LIBDEPS=llvmtablegen llvmsupport +LIBDEPS=llvmtablegen \ + llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index bf64177..9ebac4f 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -1,14 +1,14 @@ # $FreeBSD$ -LLVM_SRCS=${.CURDIR}/../../../contrib/llvm +LLVM_SRCS= ${.CURDIR}/../../../contrib/llvm .include "../../lib/clang/clang.build.mk" .for lib in ${LIBDEPS} -DPADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a +LDADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a .endfor -BINDIR?=/usr/bin +BINDIR?= /usr/bin .include <bsd.prog.mk> diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index 946dea9..7c8f0e4 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -9,6 +9,10 @@ SRCS= cc1_main.cpp \ cc1as_main.cpp \ driver.cpp +.if ${MK_SHARED_TOOLCHAIN} == "no" +NO_SHARED?= yes +.endif + LINKS= ${BINDIR}/clang ${BINDIR}/clang++ \ ${BINDIR}/clang ${BINDIR}/clang-cpp MLINKS= clang.1 clang++.1 \ @@ -23,7 +27,6 @@ MLINKS+= clang.1 cc.1 \ .endif TGHDRS= CC1AsOptions \ - CC1Options \ DiagnosticCommonKinds \ DiagnosticDriverKinds \ DiagnosticFrontendKinds \ @@ -55,23 +58,23 @@ LIBDEPS=clangfrontendtool \ llvmbitwriter \ llvmbitreader \ llvmasmparser \ - llvmmipsasmparser \ - llvmmipscodegen \ - llvmmipsdesc \ - llvmmipsinfo \ - llvmmipsinstprinter \ llvmarmdisassembler \ llvmarmasmparser \ llvmarmcodegen \ llvmarmdesc \ llvmarminfo \ llvmarminstprinter \ + llvmmipscodegen \ + llvmmipsdisassembler \ + llvmmipsasmparser \ + llvmmipsdesc \ + llvmmipsinfo \ + llvmmipsinstprinter \ llvmpowerpccodegen \ llvmpowerpcdesc \ llvmpowerpcinfo \ llvmpowerpcinstprinter \ llvmx86asmparser \ - llvmx86disassembler \ llvmx86codegen \ llvmselectiondag \ llvmasmprinter \ @@ -82,6 +85,7 @@ LIBDEPS=clangfrontendtool \ llvmtransformutils \ llvmipa \ llvmanalysis \ + llvmx86disassembler \ llvmx86desc \ llvmx86info \ llvmtarget \ diff --git a/usr.bin/clang/clang/clang.1 b/usr.bin/clang/clang/clang.1 index 7fd800b..214fe0e 100644 --- a/usr.bin/clang/clang/clang.1 +++ b/usr.bin/clang/clang/clang.1 @@ -1,5 +1,5 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== @@ -125,7 +125,7 @@ .\" ======================================================================== .\" .IX Title "CLANG 1" -.TH CLANG 1 "2012-04-05" "clang 3.1" "Clang Tools Documentation" +.TH CLANG 1 "2012-08-09" "clang 3.2" "Clang Tools Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -358,6 +358,13 @@ This flag sets the default visibility level. .IX Item "-fcommon" This flag specifies that variables without initializers get common linkage. It can be disabled with \fB\-fno\-common\fR. +.IP "\fB\-ftls\-model\fR" 4 +.IX Item "-ftls-model" +Set the default thread-local storage (\s-1TLS\s0) model to use for thread-local +variables. Valid values are: \*(L"global-dynamic\*(R", \*(L"local-dynamic\*(R", \*(L"initial-exec\*(R" +and \*(L"local-exec\*(R". The default is \*(L"global-dynamic\*(R". The default model can be +overridden with the tls_model attribute. The compiler will try to choose a more +efficient model if possible. .IP "\fB\-flto\fR \fB\-emit\-llvm\fR" 4 .IX Item "-flto -emit-llvm" Generate output files in \s-1LLVM\s0 formats, suitable for link time optimization. When diff --git a/usr.bin/clang/llc/Makefile b/usr.bin/clang/llc/Makefile index db5f12d..b99f876 100644 --- a/usr.bin/clang/llc/Makefile +++ b/usr.bin/clang/llc/Makefile @@ -11,20 +11,20 @@ LIBDEPS=llvmasmparser \ llvmarmasmparser \ llvmarmcodegen \ llvmarmdesc \ - llvmarminstprinter \ llvmarminfo \ + llvmarminstprinter \ llvmmipscodegen \ + llvmmipsdisassembler \ + llvmmipsasmparser \ llvmmipsdesc \ - llvmmipsinstprinter \ llvmmipsinfo \ + llvmmipsinstprinter \ llvmpowerpccodegen \ llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcinfo \ - llvmx86disassembler \ + llvmpowerpcinstprinter \ llvmx86asmparser \ llvmx86codegen \ - llvmx86desc \ llvmselectiondag \ llvmasmprinter \ llvmmcparser \ @@ -34,12 +34,15 @@ LIBDEPS=llvmasmparser \ llvmtransformutils \ llvmipa \ llvmanalysis \ + llvmx86disassembler \ + llvmx86desc \ + llvmx86info \ llvmtarget \ llvmx86instprinter \ + llvmmc \ + llvmobject \ llvmx86utils \ llvmcore \ - llvmx86info \ - llvmmc \ llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/llc/llc.1 b/usr.bin/clang/llc/llc.1 index 588cf1b..b7862db 100644 --- a/usr.bin/clang/llc/llc.1 +++ b/usr.bin/clang/llc/llc.1 @@ -1,285 +1,276 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi +.TH "LLC" "1" "2012-08-16" "3.2" "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] .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.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 .. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLC 1" -.TH LLC 1 "2012-04-06" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llc \- LLVM static compiler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllc\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllc\fR command compiles \s-1LLVM\s0 source inputs into assembly language for a +.\" Man page generated from reStructuredText. +. +.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. -.PP +.sp The choice of architecture for the output assembly code is automatically -determined from the input file, unless the \fB\-march\fR option is used to override +determined from the input file, unless the \fB\-march\fP option is used to override the default. -.SH "OPTIONS" -.IX Header "OPTIONS" -If \fIfilename\fR is \- or omitted, \fBllc\fR reads from standard input. Otherwise, it -will from \fIfilename\fR. Inputs can be in either the \s-1LLVM\s0 assembly language -format (.ll) or the \s-1LLVM\s0 bitcode format (.bc). -.PP -If the \fB\-o\fR option is omitted, then \fBllc\fR will send its output to standard -output if the input is from standard input. If the \fB\-o\fR option specifies \-, +.SH OPTIONS +.sp +If \fIfilename\fP is \- or omitted, \fBllc\fP reads from standard input. Otherwise, it +will from \fIfilename\fP. Inputs can be in either the LLVM assembly language +format (.ll) or the LLVM bitcode format (.bc). +.sp +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 \-, then the output will also be sent to standard output. -.PP -If no \fB\-o\fR option is specified and an input file other than \- is specified, -then \fBllc\fR creates the output filename by taking the input filename, -removing any existing \fI.bc\fR extension, and adding a \fI.s\fR suffix. -.PP -Other \fBllc\fR options are as follows: -.SS "End-user Options" -.IX Subsection "End-user Options" -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.sp +If no \fB\-o\fP option is specified and an input file other than \- is specified, +then \fBllc\fP creates the output filename by taking the input filename, +removing any existing \fI.bc\fP extension, and adding a \fI.s\fP suffix. +.sp +Other \fBllc\fP options are as follows: +.SS End\-user Options +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.IP "\fB\-O\fR=\fIuint\fR" 4 -.IX Item "-O=uint" -Generate code at different optimization levels. These correspond to the \fI\-O0\fR, -\&\fI\-O1\fR, \fI\-O2\fR, and \fI\-O3\fR optimization levels used by \fBllvm-gcc\fR and -\&\fBclang\fR. -.IP "\fB\-mtriple\fR=\fItarget triple\fR" 4 -.IX Item "-mtriple=target triple" +.UNINDENT +.UNINDENT +.sp +\fB\-O\fP=\fIuint\fP +.INDENT 0.0 +.INDENT 3.5 +Generate code at different optimization levels. These correspond to the \fI\-O0\fP, +\fI\-O1\fP, \fI\-O2\fP, and \fI\-O3\fP optimization levels used by \fBllvm\-gcc\fP and +\fBclang\fP. +.UNINDENT +.UNINDENT +.sp +\fB\-mtriple\fP=\fItarget triple\fP +.INDENT 0.0 +.INDENT 3.5 Override the target triple specified in the input file with the specified string. -.IP "\fB\-march\fR=\fIarch\fR" 4 -.IX Item "-march=arch" +.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 input file. See the output of \fBllc \-help\fR for a list of +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. -.IP "\fB\-mcpu\fR=\fIcpuname\fR" 4 -.IX Item "-mcpu=cpuname" +.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 +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\fR -.IP "\fB\-mattr\fR=\fIa1,+a2,\-a3,...\fR" 4 -.IX Item "-mattr=a1,+a2,-a3,..." -Override or control specific attributes of the target, such as whether \s-1SIMD\s0 +\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 \s-1CPU\s0. For a list of available attributes, use: -\&\fBllvm-as < /dev/null | llc \-march=xyz \-mattr=help\fR -.IP "\fB\-\-disable\-fp\-elim\fR" 4 -.IX Item "--disable-fp-elim" +current CPU. For a list of available attributes, use: +\fBllvm\-as < /dev/null | llc \-march=xyz \-mattr=help\fP +.UNINDENT +.UNINDENT +.sp +\fB\-\-disable\-fp\-elim\fP +.INDENT 0.0 +.INDENT 3.5 Disable frame pointer elimination optimization. -.IP "\fB\-\-disable\-excess\-fp\-precision\fR" 4 -.IX Item "--disable-excess-fp-precision" +.UNINDENT +.UNINDENT +.sp +\fB\-\-disable\-excess\-fp\-precision\fP +.INDENT 0.0 +.INDENT 3.5 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). -.IP "\fB\-\-enable\-no\-infs\-fp\-math\fR" 4 -.IX Item "--enable-no-infs-fp-math" +.UNINDENT +.UNINDENT +.sp +\fB\-\-enable\-no\-infs\-fp\-math\fP +.INDENT 0.0 +.INDENT 3.5 Enable optimizations that assume no Inf values. -.IP "\fB\-\-enable\-no\-nans\-fp\-math\fR" 4 -.IX Item "--enable-no-nans-fp-math" -Enable optimizations that assume no \s-1NAN\s0 values. -.IP "\fB\-\-enable\-unsafe\-fp\-math\fR" 4 -.IX Item "--enable-unsafe-fp-math" -Enable optimizations that make unsafe assumptions about \s-1IEEE\s0 math (e.g. that +.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 +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 fsin on X86). -.IP "\fB\-\-enable\-correct\-eh\-support\fR" 4 -.IX Item "--enable-correct-eh-support" -Instruct the \fBlowerinvoke\fR pass to insert code for correct exception handling +.UNINDENT +.UNINDENT +.sp +\fB\-\-enable\-correct\-eh\-support\fP +.INDENT 0.0 +.INDENT 3.5 +Instruct the \fBlowerinvoke\fP pass to insert code for correct exception handling support. This is expensive and is by default omitted for efficiency. -.IP "\fB\-\-stats\fR" 4 -.IX Item "--stats" -Print statistics recorded by code-generation passes. -.IP "\fB\-\-time\-passes\fR" 4 -.IX Item "--time-passes" +.UNINDENT +.UNINDENT +.sp +\fB\-\-stats\fP +.INDENT 0.0 +.INDENT 3.5 +Print statistics recorded by code\-generation passes. +.UNINDENT +.UNINDENT +.sp +\fB\-\-time\-passes\fP +.INDENT 0.0 +.INDENT 3.5 Record the amount of time needed for each pass and print a report to standard error. -.IP "\fB\-\-load\fR=\fIdso_path\fR" 4 -.IX Item "--load=dso_path" -Dynamically load \fIdso_path\fR (a path to a dynamically shared object) that -implements an \s-1LLVM\s0 target. This will permit the target name to be used with the -\&\fB\-march\fR option so that code can be generated for that target. -.SS "Tuning/Configuration Options" -.IX Subsection "Tuning/Configuration Options" -.IP "\fB\-\-print\-machineinstrs\fR" 4 -.IX Item "--print-machineinstrs" +.UNINDENT +.UNINDENT +.sp +\fB\-\-load\fP=\fIdso_path\fP +.INDENT 0.0 +.INDENT 3.5 +Dynamically load \fIdso_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 +\fB\-march\fP option so that code can be generated for that target. +.UNINDENT +.UNINDENT +.SS Tuning/Configuration Options +.sp +\fB\-\-print\-machineinstrs\fP +.INDENT 0.0 +.INDENT 3.5 Print generated machine code between compilation phases (useful for debugging). -.IP "\fB\-\-regalloc\fR=\fIallocator\fR" 4 -.IX Item "--regalloc=allocator" -Specify the register allocator to use. The default \fIallocator\fR is \fIlocal\fR. +.UNINDENT +.UNINDENT +.sp +\fB\-\-regalloc\fP=\fIallocator\fP +.INDENT 0.0 +.INDENT 3.5 +Specify the register allocator to use. The default \fIallocator\fP is \fIlocal\fP. Valid register allocators are: -.RS 4 -.IP "\fIsimple\fR" 4 -.IX Item "simple" -Very simple \*(L"always spill\*(R" register allocator -.IP "\fIlocal\fR" 4 -.IX Item "local" +.sp +\fIsimple\fP +.INDENT 0.0 +.INDENT 3.5 +Very simple "always spill" register allocator +.UNINDENT +.UNINDENT +.sp +\fIlocal\fP +.INDENT 0.0 +.INDENT 3.5 Local register allocator -.IP "\fIlinearscan\fR" 4 -.IX Item "linearscan" +.UNINDENT +.UNINDENT +.sp +\fIlinearscan\fP +.INDENT 0.0 +.INDENT 3.5 Linear scan global register allocator -.IP "\fIiterativescan\fR" 4 -.IX Item "iterativescan" +.UNINDENT +.UNINDENT +.sp +\fIiterativescan\fP +.INDENT 0.0 +.INDENT 3.5 Iterative scan global register allocator -.RE -.RS 4 -.RE -.IP "\fB\-\-spiller\fR=\fIspiller\fR" 4 -.IX Item "--spiller=spiller" +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +\fB\-\-spiller\fP=\fIspiller\fP +.INDENT 0.0 +.INDENT 3.5 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 -\&\fIspiller\fR is \fIlocal\fR. Valid spillers are: -.RS 4 -.IP "\fIsimple\fR" 4 -.IX Item "simple" +\fIspiller\fP is \fIlocal\fP. Valid spillers are: +.sp +\fIsimple\fP +.INDENT 0.0 +.INDENT 3.5 Simple spiller -.IP "\fIlocal\fR" 4 -.IX Item "local" +.UNINDENT +.UNINDENT +.sp +\fIlocal\fP +.INDENT 0.0 +.INDENT 3.5 Local spiller -.RE -.RS 4 -.RE -.SS "Intel IA\-32\-specific Options" -.IX Subsection "Intel IA-32-specific Options" -.IP "\fB\-\-x86\-asm\-syntax=att|intel\fR" 4 -.IX Item "--x86-asm-syntax=att|intel" -Specify whether to emit assembly code in \s-1AT&T\s0 syntax (the default) or intel +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.SS Intel IA\-32\-specific Options +.sp +\fB\-\-x86\-asm\-syntax=att|intel\fP +.INDENT 0.0 +.INDENT 3.5 +Specify whether to emit assembly code in AT&T syntax (the default) or intel syntax. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllc\fR succeeds, it will exit with 0. Otherwise, if an error occurs, -it will exit with a non-zero value. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -lli -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.UNINDENT +.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|lli +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/lli/lli.1 b/usr.bin/clang/lli/lli.1 index 87f4cf8..e018a95 100644 --- a/usr.bin/clang/lli/lli.1 +++ b/usr.bin/clang/lli/lli.1 @@ -1,310 +1,326 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi +.TH "LLI" "1" "2012-08-16" "3.2" "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] .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.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 .. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLI 1" -.TH LLI 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -lli \- directly execute programs from LLVM bitcode -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBlli\fR [\fIoptions\fR] [\fIfilename\fR] [\fIprogram args\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBlli\fR directly executes programs in \s-1LLVM\s0 bitcode format. It takes a program -in \s-1LLVM\s0 bitcode format and executes it using a just-in-time compiler, if one is -available for the current architecture, or an interpreter. \fBlli\fR takes all of -the same code generator options as llc, but they are only effective when -\&\fBlli\fR is using the just-in-time compiler. -.PP -If \fIfilename\fR is not specified, then \fBlli\fR reads the \s-1LLVM\s0 bitcode for the +.\" Man page generated from reStructuredText. +. +.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. -.PP -The optional \fIargs\fR specified on the command line are passed to the program as +.sp +The optional \fIargs\fP specified on the command line are passed to the program as arguments. -.SH "GENERAL OPTIONS" -.IX Header "GENERAL OPTIONS" -.IP "\fB\-fake\-argv0\fR=\fIexecutable\fR" 4 -.IX Item "-fake-argv0=executable" -Override the \f(CW\*(C`argv[0]\*(C'\fR value passed into the executing program. -.IP "\fB\-force\-interpreter\fR=\fI{false,true}\fR" 4 -.IX Item "-force-interpreter={false,true}" -If set to true, use the interpreter even if a just-in-time compiler is available +.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. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.UNINDENT +.UNINDENT +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.IP "\fB\-load\fR=\fIpuginfilename\fR" 4 -.IX Item "-load=puginfilename" -Causes \fBlli\fR to load the plugin (shared object) named \fIpluginfilename\fR and use +.UNINDENT +.UNINDENT +.sp +\fB\-load\fP=\fIpuginfilename\fP +.INDENT 0.0 +.INDENT 3.5 +Causes \fBlli\fP to load the plugin (shared object) named \fIpluginfilename\fP and use it for optimization. -.IP "\fB\-stats\fR" 4 -.IX Item "-stats" -Print statistics from the code-generation passes. This is only meaningful for -the just-in-time compiler, at present. -.IP "\fB\-time\-passes\fR" 4 -.IX Item "-time-passes" -Record the amount of time needed for each code-generation pass and print it to +.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. -.IP "\fB\-version\fR" 4 -.IX Item "-version" -Print out the version of \fBlli\fR and exit without doing anything else. -.SH "TARGET OPTIONS" -.IX Header "TARGET OPTIONS" -.IP "\fB\-mtriple\fR=\fItarget triple\fR" 4 -.IX Item "-mtriple=target triple" -Override the target triple specified in the input bitcode file with the +.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. -.IP "\fB\-march\fR=\fIarch\fR" 4 -.IX Item "-march=arch" +.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\fR for a list of +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. -.IP "\fB\-mcpu\fR=\fIcpuname\fR" 4 -.IX Item "-mcpu=cpuname" +.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 +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\fR -.IP "\fB\-mattr\fR=\fIa1,+a2,\-a3,...\fR" 4 -.IX Item "-mattr=a1,+a2,-a3,..." -Override or control specific attributes of the target, such as whether \s-1SIMD\s0 +\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 \s-1CPU\s0. For a list of available attributes, use: -\&\fBllvm-as < /dev/null | llc \-march=xyz \-mattr=help\fR -.SH "FLOATING POINT OPTIONS" -.IX Header "FLOATING POINT OPTIONS" -.IP "\fB\-disable\-excess\-fp\-precision\fR" 4 -.IX Item "-disable-excess-fp-precision" +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. -.IP "\fB\-enable\-no\-infs\-fp\-math\fR" 4 -.IX Item "-enable-no-infs-fp-math" +.UNINDENT +.UNINDENT +.sp +\fB\-enable\-no\-infs\-fp\-math\fP +.INDENT 0.0 +.INDENT 3.5 Enable optimizations that assume no Inf values. -.IP "\fB\-enable\-no\-nans\-fp\-math\fR" 4 -.IX Item "-enable-no-nans-fp-math" -Enable optimizations that assume no \s-1NAN\s0 values. -.IP "\fB\-enable\-unsafe\-fp\-math\fR" 4 -.IX Item "-enable-unsafe-fp-math" -Causes \fBlli\fR to enable optimizations that may decrease floating point +.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. -.IP "\fB\-soft\-float\fR" 4 -.IX Item "-soft-float" -Causes \fBlli\fR to generate software floating point library calls instead of +.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. -.SH "CODE GENERATION OPTIONS" -.IX Header "CODE GENERATION OPTIONS" -.IP "\fB\-code\-model\fR=\fImodel\fR" 4 -.IX Item "-code-model=model" +.UNINDENT +.UNINDENT +.SH CODE GENERATION OPTIONS +.sp +\fB\-code\-model\fP=\fImodel\fP +.INDENT 0.0 +.INDENT 3.5 Choose the code model from: -.Sp -.Vb 5 -\& default: Target default code model -\& small: Small code model -\& kernel: Kernel code model -\& medium: Medium code model -\& large: Large code model -.Ve -.IP "\fB\-disable\-post\-RA\-scheduler\fR" 4 -.IX Item "-disable-post-RA-scheduler" +.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 +.sp +\fB\-disable\-post\-RA\-scheduler\fP +.INDENT 0.0 +.INDENT 3.5 Disable scheduling after register allocation. -.IP "\fB\-disable\-spill\-fusing\fR" 4 -.IX Item "-disable-spill-fusing" +.UNINDENT +.UNINDENT +.sp +\fB\-disable\-spill\-fusing\fP +.INDENT 0.0 +.INDENT 3.5 Disable fusing of spill code into instructions. -.IP "\fB\-enable\-correct\-eh\-support\fR" 4 -.IX Item "-enable-correct-eh-support" -Make the \-lowerinvoke pass insert expensive, but correct, \s-1EH\s0 code. -.IP "\fB\-jit\-enable\-eh\fR" 4 -.IX Item "-jit-enable-eh" -Exception handling should be enabled in the just-in-time compiler. -.IP "\fB\-join\-liveintervals\fR" 4 -.IX Item "-join-liveintervals" +.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). -.IP "\fB\-nozero\-initialized\-in\-bss\fR Don't place zero-initialized symbols into the \s-1BSS\s0 section." 4 -.IX Item "-nozero-initialized-in-bss Don't place zero-initialized symbols into the BSS section." -.PD 0 -.IP "\fB\-pre\-RA\-sched\fR=\fIscheduler\fR" 4 -.IX Item "-pre-RA-sched=scheduler" -.PD +.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): -.Sp -.Vb 7 -\& =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 -.Ve -.IP "\fB\-regalloc\fR=\fIallocator\fR" 4 -.IX Item "-regalloc=allocator" +.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 +.sp +\fB\-regalloc\fP=\fIallocator\fP +.INDENT 0.0 +.INDENT 3.5 Register allocator to use (default=linearscan) -.Sp -.Vb 3 -\& =bigblock: Big\-block register allocator -\& =linearscan: linear scan register allocator =local \- local register allocator -\& =simple: simple register allocator -.Ve -.IP "\fB\-relocation\-model\fR=\fImodel\fR" 4 -.IX Item "-relocation-model=model" +.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 +.sp +\fB\-relocation\-model\fP=\fImodel\fP +.INDENT 0.0 +.INDENT 3.5 Choose relocation model from: -.Sp -.Vb 3 -\& =default: Target default relocation model -\& =static: Non\-relocatable code =pic \- Fully relocatable, position independent code -\& =dynamic\-no\-pic: Relocatable external references, non\-relocatable code -.Ve -.IP "\fB\-spiller\fR" 4 -.IX Item "-spiller" +.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 +.sp +\fB\-spiller\fP +.INDENT 0.0 +.INDENT 3.5 Spiller to use (default=local) -.Sp -.Vb 2 -\& =simple: simple spiller -\& =local: local spiller -.Ve -.IP "\fB\-x86\-asm\-syntax\fR=\fIsyntax\fR" 4 -.IX Item "-x86-asm-syntax=syntax" +.sp +.nf +.ft C +=simple: simple spiller +=local: local spiller +.ft P +.fi +.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: -.Sp -.Vb 2 -\& =att: Emit AT&T\-style assembly -\& =intel: Emit Intel\-style assembly -.Ve -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBlli\fR fails to load the program, it will exit with an exit code of 1. +.sp +.nf +.ft C +=att: Emit AT&T\-style assembly +=intel: Emit Intel\-style assembly +.ft P +.fi +.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" -.IX Header "SEE ALSO" -llc -.SH "AUTHOR" -.IX Header "AUTHOR" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.SH SEE ALSO +.sp +llc|llc +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, 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 bd681b4..84a978f 100644 --- a/usr.bin/clang/llvm-ar/llvm-ar.1 +++ b/usr.bin/clang/llvm-ar/llvm-ar.1 @@ -1,461 +1,484 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-AR" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-AR 1" -.TH LLVM-AR 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-ar \- LLVM archiver -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-ar\fR [\-]{dmpqrtx}[Rabfikouz] [relpos] [count] <archive> [files...] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-ar\fR command is similar to the common Unix utility, \f(CW\*(C`ar\*(C'\fR. It +.\" Man page generated from reStructuredText. +. +.SH SYNOPSIS +.sp +\fBllvm\-ar\fP [\-]{dmpqrtx}[Rabfikou] [relpos] [count] <archive> [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 \s-1LLVM\s0 bitcode that can be linked into an -\&\s-1LLVM\s0 program. However, the archive can contain any kind of file. By default, -\&\fBllvm-ar\fR generates a symbol table that makes linking faster because +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. -.PP -The \fBllvm-ar\fR command can be used to \fIread\fR both \s-1SVR4\s0 and \s-1BSD\s0 style archive -files. However, it cannot be used to write them. While the \fBllvm-ar\fR command -produces files that are \fIalmost\fR identical to the format used by other \f(CW\*(C`ar\*(C'\fR -implementations, it has two significant departures in order to make the -archive appropriate for \s-1LLVM\s0. The first departure is that \fBllvm-ar\fR only -uses \s-1BSD4\s0.4 style long path names (stored immediately after the header) and +.sp +The \fBllvm\-ar\fP command can be used to \fIread\fP both SVR4 and BSD style archive +files. However, it cannot be used to write them. While the \fBllvm\-ar\fP command +produces files that are \fIalmost\fP identical to the format used by other \fBar\fP +implementations, it has two significant departures in order to make the +archive appropriate for LLVM. The first departure is that \fBllvm\-ar\fP only +uses BSD4.4 style long path names (stored immediately after the header) and never contains a string table for long names. The second departure is that the -symbol table is formated for efficient construction of an in-memory data -structure that permits rapid (red-black tree) lookups. Consequently, archives -produced with \fBllvm-ar\fR usually won't be readable or editable with any -\&\f(CW\*(C`ar\*(C'\fR implementation or useful for linking. Using the \f(CW\*(C`f\*(C'\fR modifier to flatten -file names will make the archive readable by other \f(CW\*(C`ar\*(C'\fR implementations -but not for linking because the symbol table format for \s-1LLVM\s0 is unique. If an -\&\s-1SVR4\s0 or \s-1BSD\s0 style archive is used with the \f(CW\*(C`r\*(C'\fR (replace) or \f(CW\*(C`q\*(C'\fR (quick -update) operations, the archive will be reconstructed in \s-1LLVM\s0 format. This -means that the string table will be dropped (in deference to \s-1BSD\s0 4.4 long names) -and an \s-1LLVM\s0 symbol table will be added (by default). The system symbol table +symbol table is formated for efficient construction of an in\-memory data +structure that permits rapid (red\-black tree) lookups. Consequently, archives +produced with \fBllvm\-ar\fP usually won\(aqt be readable or editable with any +\fBar\fP implementation or useful for linking. Using the \fBf\fP modifier to flatten +file names will make the archive readable by other \fBar\fP implementations +but not for linking because the symbol table format for LLVM is unique. 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 LLVM format. This +means that the string table will be dropped (in deference to BSD 4.4 long names) +and an LLVM symbol table will be added (by default). The system symbol table will be retained. -.PP -Here's where \fBllvm-ar\fR departs from previous \f(CW\*(C`ar\*(C'\fR implementations: -.IP "\fISymbol Table\fR" 4 -.IX Item "Symbol Table" -Since \fBllvm-ar\fR is intended to archive bitcode files, the symbol table -won't make much sense to anything but \s-1LLVM\s0. Consequently, the symbol table's +.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 is intended to archive bitcode files, the symbol table +won\(aqt make much sense to anything but LLVM. Consequently, the symbol table\(aqs format has been simplified. It consists simply of a sequence of pairs -of a file member index number as an \s-1LSB\s0 4byte integer and a null-terminated +of a file member index number as an LSB 4byte integer and a null\-terminated string. -.IP "\fILong Paths\fR" 4 -.IX Item "Long Paths" -Some \f(CW\*(C`ar\*(C'\fR implementations (\s-1SVR4\s0) use a separate file member to record long -path names (> 15 characters). \fBllvm-ar\fR takes the \s-1BSD\s0 4.4 and Mac \s-1OS\s0 X +.UNINDENT +.UNINDENT +.sp +\fILong Paths\fP +.INDENT 0.0 +.INDENT 3.5 +Some \fBar\fP implementations (SVR4) use a separate file member to record long +path names (> 15 characters). \fBllvm\-ar\fP takes the BSD 4.4 and Mac OS X approach which is to simply store the full path name immediately preceding the data for the file. The path name is null terminated and may contain the slash (/) character. -.IP "\fICompression\fR" 4 -.IX Item "Compression" -\&\fBllvm-ar\fR can compress the members of an archive to save space. The -compression used depends on what's available on the platform and what choices -the \s-1LLVM\s0 Compressor utility makes. It generally favors bzip2 but will select -between \*(L"no compression\*(R" or bzip2 depending on what makes sense for the -file's content. -.IP "\fIDirectory Recursion\fR" 4 -.IX Item "Directory Recursion" -Most \f(CW\*(C`ar\*(C'\fR implementations do not recurse through directories but simply -ignore directories if they are presented to the program in the \fIfiles\fR -option. \fBllvm-ar\fR, however, can recurse through directory structures and +.UNINDENT +.UNINDENT +.sp +\fIDirectory Recursion\fP +.INDENT 0.0 +.INDENT 3.5 +Most \fBar\fP implementations do not recurse through directories but simply +ignore directories if they are presented to the program in the \fIfiles\fP +option. \fBllvm\-ar\fP, however, can recurse through directory structures and add all the files under a directory, if requested. -.IP "\fI\s-1TOC\s0 Verbose Output\fR" 4 -.IX Item "TOC Verbose Output" -When \fBllvm-ar\fR prints out the verbose table of contents (\f(CW\*(C`tv\*(C'\fR option), it -precedes the usual output with a character indicating the basic kind of -content in the file. A blank means the file is a regular file. A 'Z' means -the file is compressed. A 'B' means the file is an \s-1LLVM\s0 bitcode file. An -\&'S' means the file is the symbol table. -.SH "OPTIONS" -.IX Header "OPTIONS" -The options to \fBllvm-ar\fR are compatible with other \f(CW\*(C`ar\*(C'\fR implementations. -However, there are a few modifiers (\fIzR\fR) that are not found in other -\&\f(CW\*(C`ar\*(C'\fRs. The options to \fBllvm-ar\fR 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\fR should process the archive file. -.PP +.UNINDENT +.UNINDENT +.sp +\fITOC Verbose Output\fP +.INDENT 0.0 +.INDENT 3.5 +When \fBllvm\-ar\fP prints out the verbose table of contents (\fBtv\fP option), it +precedes the usual output with a character indicating the basic kind of +content in the file. A blank means the file is a regular file. A \(aqB\(aq means +the file is an LLVM bitcode file. An \(aqS\(aq means the file is the symbol table. +.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 \f(CW\*(C`.a\*(C'\fR suffix, but this is not required. Following -the \fIarchive-name\fR comes a list of \fIfiles\fR that indicate the specific members -of the archive to operate on. If the \fIfiles\fR option is not specified, it -generally means either \*(L"none\*(R" or \*(L"all\*(R" members, depending on the operation. -.SS "Operations" -.IX Subsection "Operations" -.IP "d" 4 -.IX Item "d" +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\fR options specify which members should be removed from the +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\fR are specified, the archive is not modified. -.IP "m[abi]" 4 -.IX Item "m[abi]" -Move files from one location in the archive to another. The \fIa\fR, \fIb\fR, and -\&\fIi\fR modifiers apply to this operation. The \fIfiles\fR will all be moved +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\fR are specified, the +will be moved to the end of the archive. If no \fIfiles\fP are specified, the archive is not modified. -.IP "p[k]" 4 -.IX Item "p[k]" -Print files to the standard output. The \fIk\fR modifier applies to this -operation. This operation simply prints the \fIfiles\fR indicated to the -standard output. If no \fIfiles\fR are specified, the entire archive is printed. -Printing bitcode files is ill-advised as they might confuse your terminal -settings. The \fIp\fR operation never modifies the archive. -.IP "q[Rfz]" 4 -.IX Item "q[Rfz]" -Quickly append files to the end of the archive. The \fIR\fR, \fIf\fR, and \fIz\fR -modifiers apply to this operation. This operation quickly adds the -\&\fIfiles\fR to the archive without checking for duplicates that should be -removed first. If no \fIfiles\fR are specified, the archive is not modified. -Because of the way that \fBllvm-ar\fR constructs the archive file, its dubious -whether the \fIq\fR operation is any faster than the \fIr\fR operation. -.IP "r[Rabfuz]" 4 -.IX Item "r[Rabfuz]" -Replace or insert file members. The \fIR\fR, \fIa\fR, \fIb\fR, \fIf\fR, \fIu\fR, and \fIz\fR +.UNINDENT +.UNINDENT +.sp +p[k] +.INDENT 0.0 +.INDENT 3.5 +Print files to the standard output. The \fIk\fP modifier applies to this +operation. 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[Rf] +.INDENT 0.0 +.INDENT 3.5 +Quickly append files to the end of the archive. The \fIR\fP, and \fIf\fP +modifiers apply to this operation. 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[Rabfu] +.INDENT 0.0 +.INDENT 3.5 +Replace or insert file members. The \fIR\fP, \fIa\fP, \fIb\fP, \fIf\fP, and \fIu\fP modifiers apply to this operation. This operation will replace existing -\&\fIfiles\fR or insert them at the end of the archive if they do not exist. If no -\&\fIfiles\fR are specified, the archive is not modified. -.IP "t[v]" 4 -.IX Item "t[v]" +\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\fR modifier, -\&\fBllvm-ar\fR also prints out the file type (B=bitcode, Z=compressed, S=symbol +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\fR are specified, the listing is only for -those files. If no \fIfiles\fR are specified, the table of contents for 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. -.IP "x[oP]" 4 -.IX Item "x[oP]" -Extract archive members back to files. The \fIo\fR modifier applies to this -operation. This operation retrieves the indicated \fIfiles\fR from the archive -and writes them back to the operating system's file system. If no -\&\fIfiles\fR are specified, the entire archive is extract. -.SS "Modifiers (operation specific)" -.IX Subsection "Modifiers (operation specific)" +.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. -.IP "[a]" 4 -.IX Item "[a]" +.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 \f(CW\*(C`a\*(C'\fRfter the \fIrelpos\fR member. If \fIrelpos\fR is not found, +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. -.IP "[b]" 4 -.IX Item "[b]" +.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 \f(CW\*(C`b\*(C'\fRefore the \fIrelpos\fR member. If \fIrelpos\fR is not -found, the files are placed at the end of the archive. This modifier is -identical to the the \fIi\fR modifier. -.IP "[f]" 4 -.IX Item "[f]" -Normally, \fBllvm-ar\fR stores the full path name to a file as presented to it on +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 +[f] +.INDENT 0.0 +.INDENT 3.5 +Normally, \fBllvm\-ar\fP stores the full path name to a file as presented to it on the command line. With this option, truncated (15 characters max) names are -used. This ensures name compatibility with older versions of \f(CW\*(C`ar\*(C'\fR but may also +used. This ensures name compatibility with older versions of \fBar\fP but may also thwart correct extraction of the files (duplicates may overwrite). If used with -the \fIR\fR option, the directory recursion will be performed but the file names -will all be \f(CW\*(C`f\*(C'\fRlattened to simple file names. -.IP "[i]" 4 -.IX Item "[i]" -A synonym for the \fIb\fR option. -.IP "[k]" 4 -.IX Item "[k]" -Normally, \fBllvm-ar\fR will not print the contents of bitcode files when the -\&\fIp\fR operation is used. This modifier defeats the default and allows the +the \fIR\fP option, the directory recursion will be performed but the file names +will all be flattened to simple file names. +.UNINDENT +.UNINDENT +.sp +[i] +.INDENT 0.0 +.INDENT 3.5 +A synonym for the \fIb\fP option. +.UNINDENT +.UNINDENT +.sp +[k] +.INDENT 0.0 +.INDENT 3.5 +Normally, \fBllvm\-ar\fP will not print the contents of bitcode files when the +\fIp\fP operation is used. This modifier defeats the default and allows the bitcode members to be printed. -.IP "[N]" 4 -.IX Item "[N]" -This option is ignored by \fBllvm-ar\fR but provided for compatibility. -.IP "[o]" 4 -.IX Item "[o]" -When extracting files, this option will cause \fBllvm-ar\fR to preserve the +.UNINDENT +.UNINDENT +.sp +[N] +.INDENT 0.0 +.INDENT 3.5 +This option is ignored by \fBllvm\-ar\fP but provided for compatibility. +.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. -.IP "[P]" 4 -.IX Item "[P]" +.UNINDENT +.UNINDENT +.sp +[P] +.INDENT 0.0 +.INDENT 3.5 use full path names when matching -.IP "[R]" 4 -.IX Item "[R]" -This modifier instructions the \fIr\fR option to recursively process directories. -Without \fIR\fR, directories are ignored and only those \fIfiles\fR that refer to -files will be added to the archive. When \fIR\fR is used, any directories specified -with \fIfiles\fR will be scanned (recursively) to find files to be added to the +.UNINDENT +.UNINDENT +.sp +[R] +.INDENT 0.0 +.INDENT 3.5 +This modifier instructions the \fIr\fP option to recursively process directories. +Without \fIR\fP, directories are ignored and only those \fIfiles\fP that refer to +files will be added to the archive. When \fIR\fP is used, any directories specified +with \fIfiles\fP will be scanned (recursively) to find files to be added to the archive. Any file whose name begins with a dot will not be added. -.IP "[u]" 4 -.IX Item "[u]" +.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. -.IP "[z]" 4 -.IX Item "[z]" -When inserting or replacing any file in the archive, compress the file first. -This -modifier is safe to use when (previously) compressed bitcode files are added to -the archive; the compressed bitcode files will not be doubly compressed. -.SS "Modifiers (generic)" -.IX Subsection "Modifiers (generic)" +.UNINDENT +.UNINDENT +.SS Modifiers (generic) +.sp The modifiers below may be applied to any operation. -.IP "[c]" 4 -.IX Item "[c]" -For all operations, \fBllvm-ar\fR will always create the archive if it doesn't -exist. Normally, \fBllvm-ar\fR will print a warning message indicating that the +.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. -.IP "[s]" 4 -.IX Item "[s]" +.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. Using this modifier is more efficient that using -llvm-ranlib which also creates the symbol table. -.IP "[S]" 4 -.IX Item "[S]" -This modifier is the opposite of the \fIs\fR modifier. It instructs \fBllvm-ar\fR to -not build the symbol table. If both \fIs\fR and \fIS\fR are used, the last modifier to +llvm\-ranlib|llvm\-ranlib which also creates the symbol table. +.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. -.IP "[v]" 4 -.IX Item "[v]" -This modifier instructs \fBllvm-ar\fR to be verbose about what it is doing. Each +.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. -.SH "STANDARDS" -.IX Header "STANDARDS" -The \fBllvm-ar\fR utility is intended to provide a superset of the \s-1IEEE\s0 Std 1003.2 -(\s-1POSIX\s0.2) functionality for \f(CW\*(C`ar\*(C'\fR. \fBllvm-ar\fR can read both \s-1SVR4\s0 and \s-1BSD4\s0.4 (or -Mac \s-1OS\s0 X) archives. If the \f(CW\*(C`f\*(C'\fR modifier is given to the \f(CW\*(C`x\*(C'\fR or \f(CW\*(C`r\*(C'\fR operations -then \fBllvm-ar\fR will write \s-1SVR4\s0 compatible archives. Without this modifier, -\&\fBllvm-ar\fR will write \s-1BSD4\s0.4 compatible archives that have long names -immediately after the header and indicated using the \*(L"#1/ddd\*(R" notation for the +.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" -.IX Header "FILE FORMAT" -The file format for \s-1LLVM\s0 Archive files is similar to that of \s-1BSD\s0 4.4 or Mac \s-1OSX\s0 -archive files. In fact, except for the symbol table, the \f(CW\*(C`ar\*(C'\fR commands on those -operating systems should be able to read \s-1LLVM\s0 archive files. The details of the +.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. -.PP +.sp Each archive begins with the archive magic number which is the eight printable -characters \*(L"!<arch>\en\*(R" where \en 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 \en padding character if necessary -(to make the length even). Each file member is composed of a header (defined -below), an optional newline-terminated \*(L"long file name\*(R" and the contents of +characters "!<arch>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. -.PP +.sp The fields of the header are described in the items below. All fields of the -header contain only \s-1ASCII\s0 characters, are left justified and are right padded +header contain only ASCII characters, are left justified and are right padded with space characters. -.IP "name \- char[16]" 4 -.IX Item "name - char[16]" +.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 \f(CW\*(C`#1/nnn\*(C'\fR where \f(CW\*(C`nnn\*(C'\fR provides the length of the name and the \f(CW\*(C`#1/\*(C'\fR -is literal. In this case, the actual name of the file is provided in the \f(CW\*(C`nnn\*(C'\fR +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. -.IP "date \- char[12]" 4 -.IX Item "date - char[12]" +.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 +decimal encoded number that provides the number of seconds since the epoch (since 00:00:00 Jan 1, 1970) per Posix specifications. -.IP "uid \- char[6]" 4 -.IX Item "uid - char[6]" -This field provides the user id of the file encoded as a decimal \s-1ASCII\s0 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 \fIstat\fR\|(2) +.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. -.IP "gid \- char[6]" 4 -.IX Item "gid - char[6]" -This field provides the group id of the file encoded as a decimal \s-1ASCII\s0 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 \fIstat\fR\|(2) +.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. -.IP "mode \- char[8]" 4 -.IX Item "mode - char[8]" -This field provides the access mode of the file encoded as an octal \s-1ASCII\s0 -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 -\&\fIstat\fR\|(2) operating system call. -.IP "size \- char[10]" 4 -.IX Item "size - char[10]" -This field provides the size of the file, in bytes, encoded as a decimal \s-1ASCII\s0 -string. If the size field is negative (starts with a minus sign, 0x02D), then -the archive member is stored in compressed form. The first byte of the archive -member's data indicates the compression type used. A value of 0 (0x30) indicates -that no compression was used. A value of 2 (0x32) indicates that bzip2 -compression was used. -.IP "fmag \- char[2]" 4 -.IX Item "fmag - char[2]" +.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 +two characters back tick (0x60) and newline (0x0A). This provides some measure utility in identifying archive files that have been corrupted. -.PP -The \s-1LLVM\s0 symbol table has the special name \*(L"#_LLVM_SYM_TAB_#\*(R". It is presumed -that no regular archive member file will want this name. The \s-1LLVM\s0 symbol table -is simply composed of a sequence of triplets: byte offset, length of symbol, -and the symbol itself. Symbols are not null or newline terminated. Here are +.UNINDENT +.UNINDENT +.sp +The LLVM symbol table has the special name "#_LLVM_SYM_TAB_#". It is presumed +that no regular archive member file will want this name. The LLVM symbol table +is simply composed of a sequence of triplets: byte offset, length of symbol, +and the symbol itself. Symbols are not null or newline terminated. Here are the details on each of these items: -.IP "offset \- vbr encoded 32\-bit integer" 4 -.IX Item "offset - vbr encoded 32-bit integer" +.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 \*(L"normal\*(R" file member. To derive the actual +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 +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. -.IP "length \- vbr encoded 32\-bit integer" 4 -.IX Item "length - vbr encoded 32-bit integer" +.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\fR item, the length is variable bit rate encoded. -.IP "symbol \- character array" 4 -.IX Item "symbol - character array" +\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\fR. The symbol is not terminated by any character. Its length is provided -by the \fIlength\fR field. Note that is allowed (but unwise) to use non-printing -characters (even 0x00) in the symbol. This allows for multiple encodings of +\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. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-ar\fR succeeds, it will exit with 0. A usage error, results +.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" -.IX Header "SEE ALSO" -llvm-ranlib, \fIar\fR\|(1) -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.SH SEE ALSO +.sp +llvm\-ranlib|llvm\-ranlib, ar(1) +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, 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 0887a2d..82e13bc 100644 --- a/usr.bin/clang/llvm-as/llvm-as.1 +++ b/usr.bin/clang/llvm-as/llvm-as.1 @@ -1,182 +1,87 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-AS" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-AS 1" -.TH LLVM-AS 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-as \- LLVM assembler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-as\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBllvm-as\fR is the \s-1LLVM\s0 assembler. It reads a file containing human-readable -\&\s-1LLVM\s0 assembly language, translates it to \s-1LLVM\s0 bitcode, and writes the result +.\" Man page generated from reStructuredText. +. +.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. -.PP -If \fIfilename\fR is omitted or is \f(CW\*(C`\-\*(C'\fR, then \fBllvm-as\fR reads its input from +.sp +If \fIfilename\fP is omitted or is \fB\-\fP, then \fBllvm\-as\fP reads its input from standard input. -.PP -If an output file is not specified with the \fB\-o\fR option, then -\&\fBllvm-as\fR sends its output to a file or standard output by following +.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: -.IP "\(bu" 4 +.INDENT 0.0 +.IP \(bu 2 If the input is standard input, then the output is standard output. -.IP "\(bu" 4 -If the input is a file that ends with \f(CW\*(C`.ll\*(C'\fR, then the output file is of -the same name, except that the suffix is changed to \f(CW\*(C`.bc\*(C'\fR. -.IP "\(bu" 4 -If the input is a file that does not end with the \f(CW\*(C`.ll\*(C'\fR suffix, then the -output file has the same name as the input file, except that the \f(CW\*(C`.bc\*(C'\fR +.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. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-f\fR" 4 -.IX Item "-f" -Enable binary output on terminals. Normally, \fBllvm-as\fR will refuse to +.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\fR will write raw bitcode regardless of the output device. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +\fBllvm\-as\fP will write raw bitcode regardless of the output device. +.TP +.B \fB\-help\fP Print a summary of command line options. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -Specify the output file name. If \fIfilename\fR is \f(CW\*(C`\-\*(C'\fR, then \fBllvm-as\fR +.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. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-as\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-dis, gccas -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.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 +2012, 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 1452c47..8611eec 100644 --- a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 +++ b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 @@ -1,370 +1,483 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-BCANALYZER" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-BCANALYZER 1" -.TH LLVM-BCANALYZER 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-bcanalyzer \- LLVM bitcode analyzer -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-bcanalyzer\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-bcanalyzer\fR command is a small utility for analyzing bitcode files. -The tool reads a bitcode file (such as generated with the \fBllvm-as\fR tool) and +.\" Man page generated from reStructuredText. +. +.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 \s-1LLVM\s0 users can just ignore +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. -.PP -If \fIfilename\fR is omitted or is \f(CW\*(C`\-\*(C'\fR, then \fBllvm-bcanalyzer\fR reads its input +.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" -.IX Header "OPTIONS" -.IP "\fB\-nodetails\fR" 4 -.IX Item "-nodetails" -Causes \fBllvm-bcanalyzer\fR to abbreviate its output by writing out only a module +.SH OPTIONS +.sp +\fB\-nodetails\fP +.INDENT 0.0 +.INDENT 3.5 +Causes \fBllvm\-bcanalyzer\fP to abbreviate its output by writing out only a module level summary. The details for individual functions are not displayed. -.IP "\fB\-dump\fR" 4 -.IX Item "-dump" -Causes \fBllvm-bcanalyzer\fR to dump the bitcode in a human readable format. This -format is significantly different from \s-1LLVM\s0 assembly and provides details about +.UNINDENT +.UNINDENT +.sp +\fB\-dump\fP +.INDENT 0.0 +.INDENT 3.5 +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. -.IP "\fB\-verify\fR" 4 -.IX Item "-verify" -Causes \fBllvm-bcanalyzer\fR to verify the module produced by reading the +.UNINDENT +.UNINDENT +.sp +\fB\-verify\fP +.INDENT 0.0 +.INDENT 3.5 +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. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.UNINDENT +.UNINDENT +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-bcanalyzer\fR 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" -.IX Header "SUMMARY OUTPUT DEFINITIONS" -The following items are always printed by llvm-bcanalyzer. They comprize the +.UNINDENT +.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. -.IP "\fBBitcode Analysis Of Module\fR" 4 -.IX Item "Bitcode Analysis Of Module" +.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. -.IP "\fBBitcode Version Number\fR" 4 -.IX Item "Bitcode Version Number" -The bitcode version (not \s-1LLVM\s0 version) of the file read by the analyzer. -.IP "\fBFile Size\fR" 4 -.IX Item "File Size" +.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. -.IP "\fBModule Bytes\fR" 4 -.IX Item "Module Bytes" +.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. -.IP "\fBFunction Bytes\fR" 4 -.IX Item "Function Bytes" +.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. -.IP "\fBGlobal Types Bytes\fR" 4 -.IX Item "Global Types Bytes" +.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. -.IP "\fBConstant Pool Bytes\fR" 4 -.IX Item "Constant Pool Bytes" +.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. -.IP "\fBModule Globals Bytes\fR" 4 -.IX Item "Module Globals Bytes" +.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. -.IP "\fBInstruction List Bytes\fR" 4 -.IX Item "Instruction List Bytes" +.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. -.IP "\fBCompaction Table Bytes\fR" 4 -.IX Item "Compaction Table 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. -.IP "\fBSymbol Table Bytes\fR" 4 -.IX Item "Symbol Table 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. -.IP "\fBDependent Libraries Bytes\fR" 4 -.IX Item "Dependent Libraries 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. -.IP "\fBNumber Of Bitcode Blocks\fR" 4 -.IX Item "Number Of Bitcode Blocks" +.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. -.IP "\fBNumber Of Functions\fR" 4 -.IX Item "Number Of Functions" +.UNINDENT +.UNINDENT +.sp +\fBNumber Of Functions\fP +.INDENT 0.0 +.INDENT 3.5 The total number of function definitions in the bitcode file. -.IP "\fBNumber Of Types\fR" 4 -.IX Item "Number Of Types" +.UNINDENT +.UNINDENT +.sp +\fBNumber Of Types\fP +.INDENT 0.0 +.INDENT 3.5 The total number of types defined in the Global Types Pool. -.IP "\fBNumber Of Constants\fR" 4 -.IX Item "Number Of Constants" +.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. -.IP "\fBNumber Of Basic Blocks\fR" 4 -.IX Item "Number Of Basic Blocks" +.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. -.IP "\fBNumber Of Instructions\fR" 4 -.IX Item "Number Of Instructions" +.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. -.IP "\fBNumber Of Long Instructions\fR" 4 -.IX Item "Number Of Long Instructions" +.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, \s-1PHI\s0 nodes, and calls to +instructions are GetElementPtr with several indices, PHI nodes, and calls to functions with large numbers of arguments. -.IP "\fBNumber Of Operands\fR" 4 -.IX Item "Number Of Operands" +.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. -.IP "\fBNumber Of Compaction Tables\fR" 4 -.IX Item "Number Of Compaction Tables" +.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. -.IP "\fBNumber Of Symbol Tables\fR" 4 -.IX Item "Number Of Symbol Tables" +.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. -.IP "\fBNumber Of Dependent Libs\fR" 4 -.IX Item "Number Of Dependent Libs" +.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. -.IP "\fBTotal Instruction Size\fR" 4 -.IX Item "Total Instruction Size" +.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. -.IP "\fBAverage Instruction Size\fR" 4 -.IX Item "Average Instruction Size" +.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. -.IP "\fBMaximum Type Slot Number\fR" 4 -.IX Item "Maximum Type Slot Number" -The maximum value used for a type's slot number. Larger slot number values take +.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. -.IP "\fBMaximum Value Slot Number\fR" 4 -.IX Item "Maximum Value Slot Number" -The maximum value used for a value's slot number. Larger slot number values take +.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. -.IP "\fBBytes Per Value\fR" 4 -.IX Item "Bytes Per Value" +.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. -.IP "\fBBytes Per Global\fR" 4 -.IX Item "Bytes Per Global" +.UNINDENT +.UNINDENT +.sp +\fBBytes Per Global\fP +.INDENT 0.0 +.INDENT 3.5 The average size of a global definition (constants and global variables). -.IP "\fBBytes Per Function\fR" 4 -.IX Item "Bytes Per Function" +.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. -.IP "\fB# of \s-1VBR\s0 32\-bit Integers\fR" 4 -.IX Item "# of VBR 32-bit Integers" +.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. -.IP "\fB# of \s-1VBR\s0 64\-bit Integers\fR" 4 -.IX Item "# of VBR 64-bit Integers" +.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. -.IP "\fB# of \s-1VBR\s0 Compressed Bytes\fR" 4 -.IX Item "# of VBR Compressed Bytes" +.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. -.IP "\fB# of \s-1VBR\s0 Expanded Bytes\fR" 4 -.IX Item "# of VBR Expanded Bytes" +.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. -.IP "\fBBytes Saved With \s-1VBR\s0\fR" 4 -.IX Item "Bytes Saved With VBR" +.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 \s-1VBR\s0 Expanded Bytes. -.SH "DETAILED OUTPUT DEFINITIONS" -.IX Header "DETAILED OUTPUT DEFINITIONS" +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. -.IP "\fBType\fR" 4 -.IX Item "Type" +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. -.IP "\fBByte Size\fR" 4 -.IX Item "Byte Size" -The total number of bytes in the function's block. -.IP "\fBBasic Blocks\fR" 4 -.IX Item "Basic Blocks" +.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. -.IP "\fBInstructions\fR" 4 -.IX Item "Instructions" +.UNINDENT +.UNINDENT +.sp +\fBInstructions\fP +.INDENT 0.0 +.INDENT 3.5 The number of instructions defined by the function. -.IP "\fBLong Instructions\fR" 4 -.IX Item "Long Instructions" +.UNINDENT +.UNINDENT +.sp +\fBLong Instructions\fP +.INDENT 0.0 +.INDENT 3.5 The number of instructions using the long instruction format in the function. -.IP "\fBOperands\fR" 4 -.IX Item "Operands" +.UNINDENT +.UNINDENT +.sp +\fBOperands\fP +.INDENT 0.0 +.INDENT 3.5 The number of operands used by all instructions in the function. -.IP "\fBInstruction Size\fR" 4 -.IX Item "Instruction Size" +.UNINDENT +.UNINDENT +.sp +\fBInstruction Size\fP +.INDENT 0.0 +.INDENT 3.5 The number of bytes consumed by instructions in the function. -.IP "\fBAverage Instruction Size\fR" 4 -.IX Item "Average Instruction Size" +.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. -.IP "\fBBytes Per Instruction\fR" 4 -.IX Item "Bytes Per Instruction" +.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. -.IP "\fBNumber of \s-1VBR\s0 32\-bit Integers\fR" 4 -.IX Item "Number of VBR 32-bit Integers" +.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). -.IP "\fBNumber of \s-1VBR\s0 64\-bit Integers\fR" 4 -.IX Item "Number of VBR 64-bit Integers" +.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). -.IP "\fBNumber of \s-1VBR\s0 Compressed Bytes\fR" 4 -.IX Item "Number of VBR Compressed Bytes" -The total number of bytes in this function consumed by the 32\-bit and 64\-bit +.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. -.IP "\fBNumber of \s-1VBR\s0 Expanded Bytes\fR" 4 -.IX Item "Number of VBR Expanded Bytes" -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 +.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. -.IP "\fBBytes Saved With \s-1VBR\s0\fR" 4 -.IX Item "Bytes Saved With VBR" -The total number of bytes saved in this function by using the Variable Bit -Rate encoding scheme. The percentage is relative to # of \s-1VBR\s0 Expanded Bytes. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-dis, <http://llvm.org/docs/BitCodeFormat.html> -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.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 +llvm\-dis|llvm\-dis, \fI\%http://llvm.org/docs/BitCodeFormat.html\fP +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, 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 75db7d9..21586ef 100644 --- a/usr.bin/clang/llvm-diff/llvm-diff.1 +++ b/usr.bin/clang/llvm-diff/llvm-diff.1 @@ -1,175 +1,77 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-DIFF" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-DIFF 1" -.TH LLVM-DIFF 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-diff \- LLVM structural 'diff' -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-diff\fR [\fIoptions\fR] \fImodule 1\fR \fImodule 2\fR [\fIglobal name ...\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBllvm-diff\fR compares the structure of two \s-1LLVM\s0 modules, primarily +.\" Man page generated from reStructuredText. +. +.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. -.PP +.sp An input module will be interpreted as an assembly file if its name -ends in '.ll'; otherwise it will be read in as a bitcode file. -.PP +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. -.PP -\&\fBllvm-diff\fR compares two functions by comparing their basic blocks, +.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. -.PP -\&\fBllvm-diff\fR is intended as a debugging tool for writers of \s-1LLVM\s0 +.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" -.IX Header "EXIT STATUS" -If \fBllvm-diff\fR finds no differences between the modules, it will exit -with 0 and produce no output. Otherwise it will exit with a non-zero +.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" -.IX Header "BUGS" +.SH BUGS +.sp Many important differences, like changes in linkage or function attributes, are not diagnosed. -.PP +.sp Changes in memory behavior (for example, coalescing loads) can cause massive detected differences in blocks. -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-dis/Makefile b/usr.bin/clang/llvm-dis/Makefile index 831bdbe..d6e0157 100644 --- a/usr.bin/clang/llvm-dis/Makefile +++ b/usr.bin/clang/llvm-dis/Makefile @@ -10,6 +10,7 @@ TGHDRS= Intrinsics LIBDEPS=llvmanalysis \ llvmtarget \ llvmmc \ + llvmobject \ llvmbitreader \ llvmcore \ llvmsupport diff --git a/usr.bin/clang/llvm-dis/llvm-dis.1 b/usr.bin/clang/llvm-dis/llvm-dis.1 index df0d0f38..28363b7 100644 --- a/usr.bin/clang/llvm-dis/llvm-dis.1 +++ b/usr.bin/clang/llvm-dis/llvm-dis.1 @@ -1,175 +1,88 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-DIS" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-DIS 1" -.TH LLVM-DIS 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-dis \- LLVM disassembler -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-dis\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-dis\fR command is the \s-1LLVM\s0 disassembler. It takes an \s-1LLVM\s0 -bitcode file and converts it into human-readable \s-1LLVM\s0 assembly language. -.PP -If filename is omitted or specified as \f(CW\*(C`\-\*(C'\fR, \fBllvm-dis\fR reads its +.\" Man page generated from reStructuredText. +. +.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. -.PP -If the input is being read from standard input, then \fBllvm-dis\fR +.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 \f(CW\*(C`.ll\*(C'\fR suffix added (any existing \f(CW\*(C`.bc\*(C'\fR suffix will first be +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\fR option. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-f\fR" 4 -.IX Item "-f" -Enable binary output on terminals. Normally, \fBllvm-dis\fR will refuse to +\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\fR will write raw bitcode regardless of the output device. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +\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. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -Specify the output file name. If \fIfilename\fR is \-, then the output is sent +.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. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-dis\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-as -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.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 +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-extract/Makefile b/usr.bin/clang/llvm-extract/Makefile index ffedee4..7489dd6 100644 --- a/usr.bin/clang/llvm-extract/Makefile +++ b/usr.bin/clang/llvm-extract/Makefile @@ -9,6 +9,7 @@ LIBDEPS=llvmasmparser \ llvmbitwriter \ llvmbitreader \ llvmipo \ + llvmvectorize \ llvmscalaropts \ llvminstcombine \ llvmtransformutils \ @@ -16,6 +17,7 @@ LIBDEPS=llvmasmparser \ llvmanalysis \ llvmtarget \ llvmmc \ + llvmobject \ llvmcore \ llvmsupport diff --git a/usr.bin/clang/llvm-extract/llvm-extract.1 b/usr.bin/clang/llvm-extract/llvm-extract.1 index 5db2815..fec5f07 100644 --- a/usr.bin/clang/llvm-extract/llvm-extract.1 +++ b/usr.bin/clang/llvm-extract/llvm-extract.1 @@ -1,195 +1,128 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-EXTRACT" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-EXTRACT 1" -.TH LLVM-EXTRACT 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-extract \- extract a function from an LLVM module -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-extract\fR [\fIoptions\fR] \fB\-\-func\fR \fIfunction-name\fR [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-extract\fR command takes the name of a function and extracts it from -the specified \s-1LLVM\s0 bitcode file. It is primarily used as a debugging tool to +.\" Man page generated from reStructuredText. +. +.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. -.PP +.sp In addition to extracting the bitcode of the specified function, -\&\fBllvm-extract\fR will also remove unreachable global variables, prototypes, and +\fBllvm\-extract\fP will also remove unreachable global variables, prototypes, and unused types. -.PP -The \fBllvm-extract\fR command reads its input from standard input if filename is +.sp +The \fBllvm\-extract\fP command reads its input from standard input if filename is omitted or if filename is \-. The output is always written to standard output, -unless the \fB\-o\fR option is specified (see below). -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-f\fR" 4 -.IX Item "-f" -Enable binary output on terminals. Normally, \fBllvm-extract\fR will refuse to +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\fR will write raw bitcode regardless of the output device. -.IP "\fB\-\-func\fR \fIfunction-name\fR" 4 -.IX Item "--func function-name" -Extract the function named \fIfunction-name\fR from the \s-1LLVM\s0 bitcode. May be +\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. -.IP "\fB\-\-rfunc\fR \fIfunction-regular-expr\fR" 4 -.IX Item "--rfunc function-regular-expr" -Extract the function(s) matching \fIfunction-regular-expr\fR from the \s-1LLVM\s0 bitcode. -All functions matching the regular expression will be extracted. May be +.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. -.IP "\fB\-\-glob\fR \fIglobal-name\fR" 4 -.IX Item "--glob global-name" -Extract the global variable named \fIglobal-name\fR from the \s-1LLVM\s0 bitcode. May be +.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. -.IP "\fB\-\-rglob\fR \fIglob-regular-expr\fR" 4 -.IX Item "--rglob glob-regular-expr" -Extract the global variable(s) matching \fIglobal-regular-expr\fR from the \s-1LLVM\s0 +.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. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.UNINDENT +.UNINDENT +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -Specify the output filename. If filename is \*(L"\-\*(R" (the default), then -\&\fBllvm-extract\fR sends its output to standard output. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -Write output in \s-1LLVM\s0 intermediate language (instead of bitcode). -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-extract\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -bugpoint -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.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|bugpoint +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-ld/Makefile b/usr.bin/clang/llvm-ld/Makefile deleted file mode 100644 index 441bef9..0000000 --- a/usr.bin/clang/llvm-ld/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# $FreeBSD$ - -PROG_CXX=llvm-ld - -SRCDIR= tools/llvm-ld -SRCS= Optimize.cpp \ - llvm-ld.cpp - -TGHDRS= Intrinsics -LIBDEPS=llvmbitwriter \ - llvmlinker \ - llvmarchive \ - llvmbitreader \ - llvmipo \ - llvmvectorize \ - llvmscalaropts \ - llvminstcombine \ - llvmtransformutils \ - llvmipa \ - llvmanalysis \ - llvmtarget \ - llvmmc \ - llvmobject \ - llvmcore \ - llvmsupport - -.include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-ld/llvm-ld.1 b/usr.bin/clang/llvm-ld/llvm-ld.1 deleted file mode 100644 index fcd3dbc..0000000 --- a/usr.bin/clang/llvm-ld/llvm-ld.1 +++ /dev/null @@ -1,319 +0,0 @@ -.\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi -.. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-LD 1" -.TH LLVM-LD 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-ld \- LLVM linker -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-ld\fR <options> <files> -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-ld\fR tool takes a set of \s-1LLVM\s0 bitcode files and links them -together into a single \s-1LLVM\s0 bitcode file. The output bitcode file can be -another bitcode file or an executable bitcode program. Using additional -options, \fBllvm-ld\fR is able to produce native code executables. -.PP -The \fBllvm-ld\fR tool is the main linker for \s-1LLVM\s0. It is used to link together -the output of \s-1LLVM\s0 front-end compilers and run \*(L"link time\*(R" optimizations (mostly -the inter-procedural kind). -.PP -The \fBllvm-ld\fR tools attempts to mimic the interface provided by the default -system linker so that it can act as a \fIdrop-in\fR replacement. -.SS "Search Order" -.IX Subsection "Search Order" -When looking for objects specified on the command line, \fBllvm-ld\fR will search -for the object first in the current directory and then in the directory -specified by the \fB\s-1LLVM_LIB_SEARCH_PATH\s0\fR environment variable. If it cannot -find the object, it fails. -.PP -When looking for a library specified with the \fB\-l\fR option, \fBllvm-ld\fR first -attempts to load a file with that name from the current directory. If that -fails, it looks for lib\fIlibrary\fR.bc, lib\fIlibrary\fR.a, or lib\fIlibrary\fR.\fIshared -library extension\fR, in that order, in each directory added to the library search -path with the \fB\-L\fR option. These directories are searched in the order they -are specified. If the library cannot be located, then \fBllvm-ld\fR looks in the -directory specified by the \fB\s-1LLVM_LIB_SEARCH_PATH\s0\fR environment variable. If it -does not find a library there, it fails. -.PP -The \fIshared library extension\fR may be \fI.so\fR, \fI.dyld\fR, \fI.dll\fR, or something -different, depending upon the system. -.PP -The \fB\-L\fR option is global. It does not matter where it is specified in the -list of command line arguments; the directory is simply added to the search path -and is applied to all libraries, preceding or succeeding, in the command line. -.SS "Link order" -.IX Subsection "Link order" -All object and bitcode files are linked first in the order they were -specified on the command line. All library files are linked next. -Some libraries may not be linked into the object program; see below. -.SS "Library Linkage" -.IX Subsection "Library Linkage" -Object files and static bitcode objects are always linked into the output -file. Library archives (.a files) load only the objects within the archive -that define symbols needed by the output file. Hence, libraries should be -listed after the object files and libraries which need them; otherwise, the -library may not be linked in, and the dependent library will not have its -undefined symbols defined. -.SS "Native code generation" -.IX Subsection "Native code generation" -The \fBllvm-ld\fR program has limited support for native code generation, when -using the \fB\-native\fR or \fB\-native\-cbe\fR options. Native code generation is -performed by converting the linked bitcode into native assembly (.s) or C code -and running the system compiler (typically gcc) on the result. -.SH "OPTIONS" -.IX Header "OPTIONS" -.SS "General Options" -.IX Subsection "General Options" -.IP "\fB\-help\fR" 4 -.IX Item "-help" -Print a summary of command line options. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -Specifies verbose mode. In this mode the linker will print additional -information about the actions it takes, programs it executes, etc. -.IP "\fB\-stats\fR" 4 -.IX Item "-stats" -Print statistics. -.IP "\fB\-time\-passes\fR" 4 -.IX Item "-time-passes" -Record the amount of time needed for each pass and print it to standard -error. -.SS "Input/Output Options" -.IX Subsection "Input/Output Options" -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -This overrides the default output file and specifies the name of the file that -should be generated by the linker. By default, \fBllvm-ld\fR generates a file named -\&\fIa.out\fR for compatibility with \fBld\fR. The output will be written to -\&\fIfilename\fR. -.IP "\fB\-b\fR \fIfilename\fR" 4 -.IX Item "-b filename" -This option can be used to override the output bitcode file name. By default, -the name of the bitcode output file is one more \*(L".bc\*(R" suffix added to the name -specified by \fB\-o filename\fR option. -.IP "\fB\-l\fR\fIname\fR" 4 -.IX Item "-lname" -This option specifies the \fIname\fR of a library to search when resolving symbols -for the program. Only the base name should be specified as \fIname\fR, without a -\&\fIlib\fR prefix or any suffix. -.IP "\fB\-L\fR\fIPath\fR" 4 -.IX Item "-LPath" -This option tells \fBllvm-ld\fR to look in \fIPath\fR to find any library subsequently -specified with the \fB\-l\fR option. The paths will be searched in the order in -which they are specified on the command line. If the library is still not found, -a small set of system specific directories will also be searched. Note that -libraries specified with the \fB\-l\fR option that occur \fIbefore\fR any \fB\-L\fR options -will not search the paths given by the \fB\-L\fR options following it. -.IP "\fB\-link\-as\-library\fR" 4 -.IX Item "-link-as-library" -Link the bitcode files together as a library, not an executable. In this mode, -undefined symbols will be permitted. -.IP "\fB\-r\fR" 4 -.IX Item "-r" -An alias for \-link\-as\-library. -.IP "\fB\-native\fR" 4 -.IX Item "-native" -Generate a native machine code executable. -.Sp -When generating native executables, \fBllvm-ld\fR first checks for a bitcode -version of the library and links it in, if necessary. If the library is -missing, \fBllvm-ld\fR skips it. Then, \fBllvm-ld\fR links in the same -libraries as native code. -.Sp -In this way, \fBllvm-ld\fR should be able to link in optimized bitcode -subsets of common libraries and then link in any part of the library that -hasn't been converted to bitcode. -.IP "\fB\-native\-cbe\fR" 4 -.IX Item "-native-cbe" -Generate a native machine code executable with the \s-1LLVM\s0 C backend. -.Sp -This option is identical to the \fB\-native\fR option, but uses the -C backend to generate code for the program instead of an \s-1LLVM\s0 native -code generator. -.SS "Optimization Options" -.IX Subsection "Optimization Options" -.IP "\fB\-disable\-inlining\fR" 4 -.IX Item "-disable-inlining" -Do not run the inlining pass. Functions will not be inlined into other -functions. -.IP "\fB\-disable\-opt\fR" 4 -.IX Item "-disable-opt" -Completely disable optimization. -.IP "\fB\-disable\-internalize\fR" 4 -.IX Item "-disable-internalize" -Do not mark all symbols as internal. -.IP "\fB\-verify\-each\fR" 4 -.IX Item "-verify-each" -Run the verification pass after each of the passes to verify intermediate -results. -.IP "\fB\-strip\-all\fR" 4 -.IX Item "-strip-all" -Strip all debug and symbol information from the executable to make it smaller. -.IP "\fB\-strip\-debug\fR" 4 -.IX Item "-strip-debug" -Strip all debug information from the executable to make it smaller. -.IP "\fB\-s\fR" 4 -.IX Item "-s" -An alias for \fB\-strip\-all\fR. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -An alias for \fB\-strip\-debug\fR. -.IP "\fB\-export\-dynamic\fR" 4 -.IX Item "-export-dynamic" -An alias for \fB\-disable\-internalize\fR -.IP "\fB\-post\-link\-opt\fR\fIPath\fR" 4 -.IX Item "-post-link-optPath" -Run post-link optimization program. After linking is completed a bitcode file -will be generated. It will be passed to the program specified by \fIPath\fR as the -first argument. The second argument to the program will be the name of a -temporary file into which the program should place its optimized output. For -example, the \*(L"no-op optimization\*(R" would be a simple shell script: -.Sp -.Vb 2 -\& #!/bin/bash -\& cp $1 $2 -.Ve -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-ld\fR succeeds, it will exit with 0 return code. If an error occurs, -it will exit with a non-zero return code. -.SH "ENVIRONMENT" -.IX Header "ENVIRONMENT" -The \f(CW\*(C`LLVM_LIB_SEARCH_PATH\*(C'\fR environment variable is used to find bitcode -libraries. Any paths specified in this variable will be searched after the \f(CW\*(C`\-L\*(C'\fR -options. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-link -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). diff --git a/usr.bin/clang/llvm-link/Makefile b/usr.bin/clang/llvm-link/Makefile index 25d3313..bcd6a51 100644 --- a/usr.bin/clang/llvm-link/Makefile +++ b/usr.bin/clang/llvm-link/Makefile @@ -13,6 +13,7 @@ LIBDEPS=llvmasmparser \ llvmanalysis \ llvmtarget \ llvmmc \ + llvmobject \ llvmarchive \ llvmbitreader \ llvmcore \ diff --git a/usr.bin/clang/llvm-link/llvm-link.1 b/usr.bin/clang/llvm-link/llvm-link.1 index ec75123..67e4cb7 100644 --- a/usr.bin/clang/llvm-link/llvm-link.1 +++ b/usr.bin/clang/llvm-link/llvm-link.1 @@ -1,190 +1,119 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-LINK" "1" "2012-08-16" "3.2" "LLVM" +.SH NAME +llvm-link \- LLVM 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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-LINK 1" -.TH LLVM-LINK 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-link \- LLVM linker -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-link\fR [\fIoptions\fR] \fIfilename ...\fR -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBllvm-link\fR takes several \s-1LLVM\s0 bitcode files and links them together into a -single \s-1LLVM\s0 bitcode file. It writes the output file to standard output, unless -the \fB\-o\fR option is used to specify a filename. -.PP -\&\fBllvm-link\fR attempts to load the input files from the current directory. If +.\" Man page generated from reStructuredText. +. +.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 \fB\-o\fP option is used to specify a filename. +.sp +\fBllvm\-link\fP attempts to load the input files from the current directory. If that fails, it looks for each file in each of the directories specified by the -\&\fB\-L\fR options on the command line. The library search paths are global; each +\fB\-L\fP options on the command line. The library search paths are global; each one is searched for every input file if necessary. The directories are searched in the order they were specified on the command line. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-L\fR \fIdirectory\fR" 4 -.IX Item "-L directory" -Add the specified \fIdirectory\fR to the library search path. When looking for -libraries, \fBllvm-link\fR will look in path name for libraries. This option can be -specified multiple times; \fBllvm-link\fR will search inside these directories in +.SH OPTIONS +.sp +\fB\-L\fP \fIdirectory\fP +.INDENT 0.0 +.INDENT 3.5 +Add the specified \fIdirectory\fP to the library search path. When looking for +libraries, \fBllvm\-link\fP will look in path name for libraries. This option can be +specified multiple times; \fBllvm\-link\fP will search inside these directories in the order in which they were specified on the command line. -.IP "\fB\-f\fR" 4 -.IX Item "-f" -Enable binary output on terminals. Normally, \fBllvm-link\fR will refuse to +.UNINDENT +.UNINDENT +.sp +\fB\-f\fP +.INDENT 0.0 +.INDENT 3.5 +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\fR will write raw bitcode regardless of the output device. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -Specify the output file name. If \fIfilename\fR is \f(CW\*(C`\-\*(C'\fR, then \fBllvm-link\fR will +\fBllvm\-link\fP will write raw bitcode regardless of the output device. +.UNINDENT +.UNINDENT +.sp +\fB\-o\fP \fIfilename\fP +.INDENT 0.0 +.INDENT 3.5 +Specify the output file name. If \fIfilename\fP is \fB\-\fP, then \fBllvm\-link\fP will write its output to standard output. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -Write output in \s-1LLVM\s0 intermediate language (instead of bitcode). -.IP "\fB\-d\fR" 4 -.IX Item "-d" -If specified, \fBllvm-link\fR prints a human-readable version of the output +.UNINDENT +.UNINDENT +.sp +\fB\-S\fP +.INDENT 0.0 +.INDENT 3.5 +Write output in LLVM intermediate language (instead of bitcode). +.UNINDENT +.UNINDENT +.sp +\fB\-d\fP +.INDENT 0.0 +.INDENT 3.5 +If specified, \fBllvm\-link\fP prints a human\-readable version of the output bitcode file to standard error. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.UNINDENT +.UNINDENT +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.IP "\fB\-v\fR" 4 -.IX Item "-v" -Verbose mode. Print information about what \fBllvm-link\fR is doing. This +.UNINDENT +.UNINDENT +.sp +\fB\-v\fP +.INDENT 0.0 +.INDENT 3.5 +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. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-link\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -gccld -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.UNINDENT +.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 SEE ALSO +.sp +gccld|gccld +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-mc/Makefile b/usr.bin/clang/llvm-mc/Makefile index 3372182..1c08894 100644 --- a/usr.bin/clang/llvm-mc/Makefile +++ b/usr.bin/clang/llvm-mc/Makefile @@ -12,20 +12,20 @@ LIBDEPS=llvmmcdisassembler \ llvmarmasmparser \ llvmarmcodegen \ llvmarmdesc \ - llvmarminstprinter \ llvmarminfo \ + llvmarminstprinter \ llvmmipscodegen \ + llvmmipsdisassembler \ + llvmmipsasmparser \ llvmmipsdesc \ - llvmmipsinstprinter \ llvmmipsinfo \ + llvmmipsinstprinter \ llvmpowerpccodegen \ llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcinfo \ - llvmx86disassembler \ + llvmpowerpcinstprinter \ llvmx86asmparser \ llvmx86codegen \ - llvmx86desc \ llvmselectiondag \ llvmasmprinter \ llvmmcparser \ @@ -35,12 +35,15 @@ LIBDEPS=llvmmcdisassembler \ llvmtransformutils \ llvmipa \ llvmanalysis \ + llvmx86disassembler \ + llvmx86desc \ + llvmx86info \ llvmtarget \ llvmx86instprinter \ + llvmmc \ + llvmobject \ llvmx86utils \ llvmcore \ - llvmx86info \ - llvmmc \ llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-nm/llvm-nm.1 b/usr.bin/clang/llvm-nm/llvm-nm.1 index e2eeec3..8df8f3f 100644 --- a/usr.bin/clang/llvm-nm/llvm-nm.1 +++ b/usr.bin/clang/llvm-nm/llvm-nm.1 @@ -1,219 +1,213 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-NM" "1" "2012-08-16" "3.2" "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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-NM 1" -.TH LLVM-NM 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-nm \- list LLVM bitcode file's symbol table -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-nm\fR [\fIoptions\fR] [\fIfilenames...\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-nm\fR utility lists the names of symbols from the \s-1LLVM\s0 bitcode files, -or \fBar\fR archives containing \s-1LLVM\s0 bitcode files, 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\-\fR is used as a file name, \fBllvm-nm\fR will -process a bitcode file on its standard input stream. -.PP -\&\fBllvm-nm\fR's default output format is the traditional \s-1BSD\s0 \fBnm\fR 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. -.PP +.\" Man page generated from reStructuredText. +. +.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: -.IP "U" 4 -.IX Item "U" +.sp +U +.INDENT 0.0 +.INDENT 3.5 Named object is referenced but undefined in this bitcode file -.IP "C" 4 -.IX Item "C" +.UNINDENT +.UNINDENT +.sp +C +.INDENT 0.0 +.INDENT 3.5 Common (multiple definitions link together into one def) -.IP "W" 4 -.IX Item "W" +.UNINDENT +.UNINDENT +.sp +W +.INDENT 0.0 +.INDENT 3.5 Weak reference (multiple definitions link together into zero or one definitions) -.IP "t" 4 -.IX Item "t" +.UNINDENT +.UNINDENT +.sp +t +.INDENT 0.0 +.INDENT 3.5 Local function (text) object -.IP "T" 4 -.IX Item "T" +.UNINDENT +.UNINDENT +.sp +T +.INDENT 0.0 +.INDENT 3.5 Global function (text) object -.IP "d" 4 -.IX Item "d" +.UNINDENT +.UNINDENT +.sp +d +.INDENT 0.0 +.INDENT 3.5 Local data object -.IP "D" 4 -.IX Item "D" +.UNINDENT +.UNINDENT +.sp +D +.INDENT 0.0 +.INDENT 3.5 Global data object -.IP "?" 4 +.UNINDENT +.UNINDENT +.sp +? +.INDENT 0.0 +.INDENT 3.5 Something unrecognizable -.PP -Because \s-1LLVM\s0 bitcode files typically contain objects that are not considered to +.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 \*(L"just-in-time\*(R", \fBllvm-nm\fR does not print an address for any symbol, -even symbols which are defined in the bitcode file. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-P\fR" 4 -.IX Item "-P" -Use \s-1POSIX\s0.2 output format. Alias for \fB\-\-format=posix\fR. -.IP "\fB\-B\fR (default)" 4 -.IX Item "-B (default)" -Use \s-1BSD\s0 output format. Alias for \fB\-\-format=bsd\fR. -.IP "\fB\-help\fR" 4 -.IX Item "-help" -Print a summary of command-line options and their meanings. -.IP "\fB\-\-defined\-only\fR" 4 -.IX Item "--defined-only" -Print only symbols defined in this bitcode file (as opposed to +compiled "just\-in\-time", \fBllvm\-nm\fP does not print an address for any +symbol in a 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.) -.IP "\fB\-\-extern\-only\fR, \fB\-g\fR" 4 -.IX Item "--extern-only, -g" +.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 bitcode files. -.IP "\fB\-\-undefined\-only\fR, \fB\-u\fR" 4 -.IX Item "--undefined-only, -u" -Print only symbols referenced but not defined in this bitcode file. -.IP "\fB\-\-format=\fR\fIfmt\fR, \fB\-f\fR" 4 -.IX Item "--format=fmt, -f" -Select an output format; \fIfmt\fR may be \fIsysv\fR, \fIposix\fR, or \fIbsd\fR. The -default is \fIbsd\fR. -.SH "BUGS" -.IX Header "BUGS" -\&\fBllvm-nm\fR cannot demangle \*(C+ mangled names, like \s-1GNU\s0 \fBnm\fR can. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -\&\fBllvm-nm\fR exits with an exit code of zero. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-dis, \fIar\fR\|(1), \fInm\fR\|(1) -.SH "AUTHOR" -.IX Header "AUTHOR" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +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|llvm\-dis, ar(1), nm(1) +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index a98cae5..351c06c 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -8,27 +8,26 @@ SRCS= llvm-objdump.cpp \ MachODump.cpp \ MCFunction.cpp \ -LIBDEPS=llvmobject \ - llvmmcdisassembler \ +LIBDEPS=llvmmcdisassembler \ llvmdebuginfo \ llvmarmdisassembler \ llvmarmasmparser \ llvmarmcodegen \ llvmarmdesc \ - llvmarminstprinter \ llvmarminfo \ + llvmarminstprinter \ llvmmipscodegen \ + llvmmipsdisassembler \ + llvmmipsasmparser \ llvmmipsdesc \ - llvmmipsinstprinter \ llvmmipsinfo \ + llvmmipsinstprinter \ llvmpowerpccodegen \ llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcinfo \ - llvmx86disassembler \ + llvmpowerpcinstprinter \ llvmx86asmparser \ llvmx86codegen \ - llvmx86desc \ llvmselectiondag \ llvmasmprinter \ llvmmcparser \ @@ -38,12 +37,15 @@ LIBDEPS=llvmobject \ llvmtransformutils \ llvmipa \ llvmanalysis \ + llvmx86disassembler \ + llvmx86desc \ + llvmx86info \ llvmtarget \ llvmx86instprinter \ + llvmmc \ + llvmobject \ llvmx86utils \ llvmcore \ - llvmx86info \ - llvmmc \ llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-prof/Makefile b/usr.bin/clang/llvm-prof/Makefile index fbe5df9..b7b29cd 100644 --- a/usr.bin/clang/llvm-prof/Makefile +++ b/usr.bin/clang/llvm-prof/Makefile @@ -8,6 +8,7 @@ SRCS= llvm-prof.cpp LIBDEPS=llvmanalysis \ llvmtarget \ llvmmc \ + llvmobject \ llvmbitreader \ llvmcore \ llvmsupport diff --git a/usr.bin/clang/llvm-prof/llvm-prof.1 b/usr.bin/clang/llvm-prof/llvm-prof.1 index 1b07c24..fd34cd7 100644 --- a/usr.bin/clang/llvm-prof/llvm-prof.1 +++ b/usr.bin/clang/llvm-prof/llvm-prof.1 @@ -1,173 +1,86 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-PROF" "1" "2012-08-16" "3.2" "LLVM" +.SH NAME +llvm-prof \- print execution profile of LLVM program +. +.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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-PROF 1" -.TH LLVM-PROF 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-prof \- print execution profile of LLVM program -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-prof\fR [\fIoptions\fR] [\fIbitcode file\fR] [\fIllvmprof.out\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-prof\fR tool reads in an \fIllvmprof.out\fR file (which can +.\" Man page generated from reStructuredText. +. +.SH SYNOPSIS +.sp +\fBllvm\-prof\fP [\fIoptions\fP] [\fIbitcode file\fP] [\fIllvmprof.out\fP] +.SH DESCRIPTION +.sp +The \fBllvm\-prof\fP tool reads in an \fIllvmprof.out\fP file (which can optionally use a specific file with the third program argument), a bitcode file for the program, and produces a human readable report, suitable for determining where the program hotspots are. -.PP -This program is often used in conjunction with the \fIutils/profile.pl\fR -script. This script automatically instruments a program, runs it with the \s-1JIT\s0, -then runs \fBllvm-prof\fR to format a report. To get more information about -\&\fIutils/profile.pl\fR, execute it with the \fB\-help\fR option. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-\-annotated\-llvm\fR or \fB\-A\fR" 4 -.IX Item "--annotated-llvm or -A" +.sp +This program is often used in conjunction with the \fIutils/profile.pl\fP +script. This script automatically instruments a program, runs it with the JIT, +then runs \fBllvm\-prof\fP to format a report. To get more information about +\fIutils/profile.pl\fP, execute it with the \fB\-help\fP option. +.SH OPTIONS +.sp +\fB\-\-annotated\-llvm\fP or \fB\-A\fP +.INDENT 0.0 +.INDENT 3.5 In addition to the normal report printed, print out the code for the program, annotated with execution frequency information. This can be particularly useful when trying to visualize how frequently basic blocks are executed. This is most useful with basic block profiling information or better. -.IP "\fB\-\-print\-all\-code\fR" 4 -.IX Item "--print-all-code" -Using this option enables the \fB\-\-annotated\-llvm\fR option, but it +.UNINDENT +.UNINDENT +.sp +\fB\-\-print\-all\-code\fP +.INDENT 0.0 +.INDENT 3.5 +Using this option enables the \fB\-\-annotated\-llvm\fP option, but it prints the entire module, instead of just the most commonly executed functions. -.IP "\fB\-\-time\-passes\fR" 4 -.IX Item "--time-passes" +.UNINDENT +.UNINDENT +.sp +\fB\-\-time\-passes\fP +.INDENT 0.0 +.INDENT 3.5 Record the amount of time needed for each pass and print it to standard error. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -\&\fBllvm-prof\fR returns 1 if it cannot load the bitcode file or the profile +.UNINDENT +.UNINDENT +.SH EXIT STATUS +.sp +\fBllvm\-prof\fP returns 1 if it cannot load the bitcode file or the profile information. Otherwise, it exits with zero. -.SH "AUTHOR" -.IX Header "AUTHOR" -\&\fBllvm-prof\fR is maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 b/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 index 844411d..60ada02 100644 --- a/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 +++ b/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 @@ -1,167 +1,80 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp +.TH "LLVM-RANLIB" "1" "2012-08-16" "3.2" "LLVM" +.SH NAME +llvm-ranlib \- Generate index for LLVM archive +. +.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] .. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -.de Ve \" End verbatim text -.ft R -.fi +.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 .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" -.. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX -.. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "LLVM-RANLIB 1" -.TH LLVM-RANLIB 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -llvm\-ranlib \- Generate index for LLVM archive -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBllvm-ranlib\fR [\-\-version] [\-help] <archive\-file> -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBllvm-ranlib\fR command is similar to the common Unix utility, \f(CW\*(C`ranlib\*(C'\fR. It -adds or updates the symbol table in an \s-1LLVM\s0 archive file. Note that using the -\&\fBllvm-ar\fR modifier \fIs\fR is usually more efficient than running \fBllvm-ranlib\fR -which is only provided only for completness and compatibility. Unlike other -implementations of \f(CW\*(C`ranlib\*(C'\fR, \fBllvm-ranlib\fR indexes \s-1LLVM\s0 bitcode files, not +.\" Man page generated from reStructuredText. +. +.SH SYNOPSIS +.sp +\fBllvm\-ranlib\fP [\-\-version] [\-help] <archive\-file> +.SH DESCRIPTION +.sp +The \fBllvm\-ranlib\fP command is similar to the common Unix utility, \fBranlib\fP. It +adds or updates the symbol table in an LLVM archive file. Note that using the +\fBllvm\-ar\fP modifier \fIs\fP is usually more efficient than running \fBllvm\-ranlib\fP +which is only provided only for completness and compatibility. Unlike other +implementations of \fBranlib\fP, \fBllvm\-ranlib\fP indexes LLVM bitcode files, not native object modules. You can list the contents of the symbol table with the -\&\f(CW\*(C`llvm\-nm \-s\*(C'\fR command. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fIarchive-file\fR" 4 -.IX Item "archive-file" -Specifies the archive-file to which the symbol table is added or updated. -.IP "\fI\-\-version\fR" 4 -.IX Item "--version" -Print the version of \fBllvm-ranlib\fR and exit without building a symbol table. -.IP "\fI\-help\fR" 4 -.IX Item "-help" -Print usage help for \fBllvm-ranlib\fR and exit without building a symbol table. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBllvm-ranlib\fR succeeds, it will exit with 0. If an error occurs, a non-zero +\fBllvm\-nm \-s\fP command. +.SH OPTIONS +.sp +\fIarchive\-file\fP +.INDENT 0.0 +.INDENT 3.5 +Specifies the archive\-file to which the symbol table is added or updated. +.UNINDENT +.UNINDENT +.sp +\fI\-\-version\fP +.INDENT 0.0 +.INDENT 3.5 +Print the version of \fBllvm\-ranlib\fP and exit without building a symbol table. +.UNINDENT +.UNINDENT +.sp +\fI\-help\fP +.INDENT 0.0 +.INDENT 3.5 +Print usage help for \fBllvm\-ranlib\fP and exit without building a symbol table. +.UNINDENT +.UNINDENT +.SH EXIT STATUS +.sp +If \fBllvm\-ranlib\fP succeeds, it will exit with 0. If an error occurs, a non\-zero exit code will be returned. -.SH "SEE ALSO" -.IX Header "SEE ALSO" -llvm-ar, \fIranlib\fR\|(1) -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.SH SEE ALSO +.sp +llvm\-ar|llvm\-ar, ranlib(1) +.SH AUTHOR +Maintained by The LLVM Team (http://llvm.org/). +.SH COPYRIGHT +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/llvm-rtdyld/Makefile b/usr.bin/clang/llvm-rtdyld/Makefile index 489307a..e3b5d87 100644 --- a/usr.bin/clang/llvm-rtdyld/Makefile +++ b/usr.bin/clang/llvm-rtdyld/Makefile @@ -9,25 +9,24 @@ SRCS= llvm-rtdyld.cpp LIBDEPS=llvmjit \ llvmexecutionengine \ llvmruntimedyld \ - llvmobject \ llvmarmdisassembler \ llvmarmasmparser \ llvmarmcodegen \ llvmarmdesc \ - llvmarminstprinter \ llvmarminfo \ + llvmarminstprinter \ llvmmipscodegen \ + llvmmipsdisassembler \ + llvmmipsasmparser \ llvmmipsdesc \ - llvmmipsinstprinter \ llvmmipsinfo \ + llvmmipsinstprinter \ llvmpowerpccodegen \ llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcinfo \ - llvmx86disassembler \ + llvmpowerpcinstprinter \ llvmx86asmparser \ llvmx86codegen \ - llvmx86desc \ llvmselectiondag \ llvmasmprinter \ llvmmcparser \ @@ -37,12 +36,15 @@ LIBDEPS=llvmjit \ llvmtransformutils \ llvmipa \ llvmanalysis \ + llvmx86disassembler \ + llvmx86desc \ + llvmx86info \ llvmtarget \ llvmx86instprinter \ + llvmmc \ + llvmobject \ llvmx86utils \ llvmcore \ - llvmx86info \ - llvmmc \ llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-stub/Makefile b/usr.bin/clang/llvm-stub/Makefile deleted file mode 100644 index 56e7660..0000000 --- a/usr.bin/clang/llvm-stub/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -PROG= llvm-stub -NO_MAN= - -SRCDIR= tools/llvm-stub -SRCS= llvm-stub.c - -.include "../clang.prog.mk" diff --git a/usr.bin/clang/opt/opt.1 b/usr.bin/clang/opt/opt.1 index 6d82aae..a69bb65 100644 --- a/usr.bin/clang/opt/opt.1 +++ b/usr.bin/clang/opt/opt.1 @@ -1,250 +1,219 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi +.TH "OPT" "1" "2012-08-16" "3.2" "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] .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.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 .. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "OPT 1" -.TH OPT 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -opt \- LLVM optimizer -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBopt\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -The \fBopt\fR command is the modular \s-1LLVM\s0 optimizer and analyzer. It takes \s-1LLVM\s0 +.\" Man page generated from reStructuredText. +. +.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\fR depends on whether the \fB\-analyze\fR option is given. -.PP -When \fB\-analyze\fR is specified, \fBopt\fR performs various analyses of the input +outputs the optimized file or the analysis results. The function of +\fBopt\fP depends on whether the \fB\-analyze\fP option is given. +.sp +When \fB\-analyze\fP is specified, \fBopt\fP performs various analyses of the input source. It will usually print the results on standard output, but in a few cases, it will print output to standard error or generate a file with the analysis output, which is usually done when the output is meant for another program. -.PP -While \fB\-analyze\fR is \fInot\fR given, \fBopt\fR attempts to produce an optimized -output file. The optimizations available via \fBopt\fR depend upon what -libraries were linked into it as well as any additional libraries that have -been loaded with the \fB\-load\fR option. Use the \fB\-help\fR option to determine +.sp +While \fB\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an optimized +output file. The optimizations available via \fBopt\fP depend upon what +libraries were linked into it as well as any additional libraries that have +been loaded with the \fB\-load\fP option. Use the \fB\-help\fP option to determine what optimizations you can use. -.PP -If \fIfilename\fR is omitted from the command line or is \fI\-\fR, \fBopt\fR reads its -input from standard input. Inputs can be in either the \s-1LLVM\s0 assembly language -format (.ll) or the \s-1LLVM\s0 bitcode format (.bc). -.PP -If an output filename is not specified with the \fB\-o\fR option, \fBopt\fR +.sp +If \fIfilename\fP is omitted from the command line or is \fI\-\fP, \fBopt\fP reads its +input from standard input. Inputs can be in either the LLVM assembly language +format (.ll) or the LLVM bitcode format (.bc). +.sp +If an output filename is not specified with the \fB\-o\fP option, \fBopt\fP writes its output to the standard output. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-f\fR" 4 -.IX Item "-f" -Enable binary output on terminals. Normally, \fBopt\fR will refuse to +.SH OPTIONS +.sp +\fB\-f\fP +.INDENT 0.0 +.INDENT 3.5 +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\fR will write raw bitcode regardless of the output device. -.IP "\fB\-help\fR" 4 -.IX Item "-help" +\fBopt\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. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" +.UNINDENT +.UNINDENT +.sp +\fB\-o\fP \fIfilename\fP +.INDENT 0.0 +.INDENT 3.5 Specify the output filename. -.IP "\fB\-S\fR" 4 -.IX Item "-S" -Write output in \s-1LLVM\s0 intermediate language (instead of bitcode). -.IP "\fB\-{passname}\fR" 4 -.IX Item "-{passname}" -\&\fBopt\fR provides the ability to run any of \s-1LLVM\s0's optimization or analysis passes -in any order. The \fB\-help\fR option lists all the passes available. The order in +.UNINDENT +.UNINDENT +.sp +\fB\-S\fP +.INDENT 0.0 +.INDENT 3.5 +Write output in LLVM intermediate language (instead of bitcode). +.UNINDENT +.UNINDENT +.sp +\fB\-{passname}\fP +.INDENT 0.0 +.INDENT 3.5 +\fBopt\fP provides the ability to run any of LLVM\(aqs optimization or analysis passes +in any order. The \fB\-help\fP option lists all the passes available. The order in which the options occur on the command line are the order in which they are executed (within pass constraints). -.IP "\fB\-std\-compile\-opts\fR" 4 -.IX Item "-std-compile-opts" -This is short hand for a standard list of \fIcompile time optimization\fR passes. -This is typically used to optimize the output from the llvm-gcc front end. It +.UNINDENT +.UNINDENT +.sp +\fB\-std\-compile\-opts\fP +.INDENT 0.0 +.INDENT 3.5 +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: -.Sp -.Vb 1 -\& llvm\-as < /dev/null | opt \-std\-compile\-opts \-disable\-output \-debug\-pass=Arguments -.Ve -.IP "\fB\-disable\-inlining\fR" 4 -.IX Item "-disable-inlining" -This option is only meaningful when \fB\-std\-compile\-opts\fR is given. It simply +.sp +.nf +.ft C +llvm\-as < /dev/null | opt \-std\-compile\-opts \-disable\-output \-debug\-pass=Arguments +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fB\-disable\-inlining\fP +.INDENT 0.0 +.INDENT 3.5 +This option is only meaningful when \fB\-std\-compile\-opts\fP is given. It simply removes the inlining pass from the standard list. -.IP "\fB\-disable\-opt\fR" 4 -.IX Item "-disable-opt" -This option is only meaningful when \fB\-std\-compile\-opts\fR is given. It disables -most, but not all, of the \fB\-std\-compile\-opts\fR. The ones that remain are -\&\fB\-verify\fR, \fB\-lower\-setjmp\fR, and \fB\-funcresolve\fR. -.IP "\fB\-strip\-debug\fR" 4 -.IX Item "-strip-debug" -This option causes opt to strip debug information from the module before -applying other optimizations. It is essentially the same as \fB\-strip\fR but it +.UNINDENT +.UNINDENT +.sp +\fB\-disable\-opt\fP +.INDENT 0.0 +.INDENT 3.5 +This option is only meaningful when \fB\-std\-compile\-opts\fP is given. It disables +most, but not all, of the \fB\-std\-compile\-opts\fP. The ones that remain are +\fB\-verify\fP, \fB\-lower\-setjmp\fP, and \fB\-funcresolve\fP. +.UNINDENT +.UNINDENT +.sp +\fB\-strip\-debug\fP +.INDENT 0.0 +.INDENT 3.5 +This option causes opt to strip debug information from the module before +applying other optimizations. It is essentially the same as \fB\-strip\fP but it ensures that stripping of debug information is done first. -.IP "\fB\-verify\-each\fR" 4 -.IX Item "-verify-each" +.UNINDENT +.UNINDENT +.sp +\fB\-verify\-each\fP +.INDENT 0.0 +.INDENT 3.5 This option causes opt to add a verify pass after every pass otherwise specified -on the command line (including \fB\-verify\fR). This is useful for cases where it +on the command line (including \fB\-verify\fP). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which -pass is doing it. The combination of \fB\-std\-compile\-opts\fR and \fB\-verify\-each\fR +pass is doing it. The combination of \fB\-std\-compile\-opts\fP and \fB\-verify\-each\fP can quickly track down this kind of problem. -.IP "\fB\-profile\-info\-file\fR \fIfilename\fR" 4 -.IX Item "-profile-info-file filename" +.UNINDENT +.UNINDENT +.sp +\fB\-profile\-info\-file\fP \fIfilename\fP +.INDENT 0.0 +.INDENT 3.5 Specify the name of the file loaded by the \-profile\-loader option. -.IP "\fB\-stats\fR" 4 -.IX Item "-stats" +.UNINDENT +.UNINDENT +.sp +\fB\-stats\fP +.INDENT 0.0 +.INDENT 3.5 Print statistics. -.IP "\fB\-time\-passes\fR" 4 -.IX Item "-time-passes" +.UNINDENT +.UNINDENT +.sp +\fB\-time\-passes\fP +.INDENT 0.0 +.INDENT 3.5 Record the amount of time needed for each pass and print it to standard error. -.IP "\fB\-debug\fR" 4 -.IX Item "-debug" +.UNINDENT +.UNINDENT +.sp +\fB\-debug\fP +.INDENT 0.0 +.INDENT 3.5 If this is a debug build, this option will enable debug printouts -from passes which use the \fI\s-1\fIDEBUG\s0()\fI\fR macro. See the \fB\s-1LLVM\s0 Programmer's -Manual\fR, section \fI#DEBUG\fR for more information. -.IP "\fB\-load\fR=\fIplugin\fR" 4 -.IX Item "-load=plugin" -Load the dynamic object \fIplugin\fR. This object should register new optimization +from passes which use the \fIDEBUG()\fP macro. See the \fBLLVM Programmer\(aqs +Manual\fP, section \fI#DEBUG\fP for more information. +.UNINDENT +.UNINDENT +.sp +\fB\-load\fP=\fIplugin\fP +.INDENT 0.0 +.INDENT 3.5 +Load the dynamic object \fIplugin\fP. This object should register new optimization or analysis passes. Once loaded, the object will add new command line options to -enable various optimizations or analyses. To see the new complete list of -optimizations, use the \fB\-help\fR and \fB\-load\fR options together. For example: -.Sp -.Vb 1 -\& opt \-load=plugin.so \-help -.Ve -.IP "\fB\-p\fR" 4 -.IX Item "-p" +enable various optimizations or analyses. To see the new complete list of +optimizations, use the \fB\-help\fP and \fB\-load\fP options together. For example: +.sp +.nf +.ft C +opt \-load=plugin.so \-help +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +\fB\-p\fP +.INDENT 0.0 +.INDENT 3.5 Print module after each transformation. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBopt\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>). +.UNINDENT +.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 +2012, LLVM Project +.\" Generated by docutils manpage writer. +. diff --git a/usr.bin/clang/tblgen/Makefile b/usr.bin/clang/tblgen/Makefile index e2447a6..c74ad83 100644 --- a/usr.bin/clang/tblgen/Makefile +++ b/usr.bin/clang/tblgen/Makefile @@ -11,6 +11,7 @@ SRCS= AsmMatcherEmitter.cpp \ CodeGenDAGPatterns.cpp \ CodeGenInstruction.cpp \ CodeGenRegisters.cpp \ + CodeGenSchedule.cpp \ CodeGenTarget.cpp \ DAGISelEmitter.cpp \ DAGISelMatcher.cpp \ @@ -27,7 +28,6 @@ SRCS= AsmMatcherEmitter.cpp \ PseudoLoweringEmitter.cpp \ RegisterInfoEmitter.cpp \ SetTheory.cpp \ - StringMatcher.cpp \ SubtargetEmitter.cpp \ TGValueTypes.cpp \ TableGen.cpp \ @@ -36,6 +36,7 @@ SRCS= AsmMatcherEmitter.cpp \ X86RecognizableInstr.cpp LLVM_REQUIRES_EH= -LIBDEPS=llvmtablegen llvmsupport +LIBDEPS=llvmtablegen \ + llvmsupport .include "../clang.prog.mk" diff --git a/usr.bin/clang/tblgen/tblgen.1 b/usr.bin/clang/tblgen/tblgen.1 index 732f25a..d6d127e 100644 --- a/usr.bin/clang/tblgen/tblgen.1 +++ b/usr.bin/clang/tblgen/tblgen.1 @@ -1,233 +1,230 @@ .\" $FreeBSD$ -.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) -.\" -.\" Standard preamble: -.\" ======================================================================== -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Vb \" Begin verbatim text -.ft CW -.nf -.ne \\$1 -.. -.de Ve \" End verbatim text -.ft R -.fi +.TH "TBLGEN" "1" "2012-08-16" "3.2" "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] .. -.\" Set up some character translations and predefined strings. \*(-- will -.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left -.\" double quote, and \*(R" will give a right double quote. \*(C+ will -.\" give a nicer C++. Capital omega is used to do unbreakable dashes and -.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, -.\" nothing in troff, for use with C<>. -.tr \(*W- -.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' -.ie n \{\ -. ds -- \(*W- -. ds PI pi -. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch -. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch -. ds L" "" -. ds R" "" -. ds C` "" -. ds C' "" -'br\} -.el\{\ -. ds -- \|\(em\| -. ds PI \(*p -. ds L" `` -. ds R" '' -'br\} -.\" -.\" Escape single quotes in literal strings from groff's Unicode transform. -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" -.\" If the F register is turned on, we'll generate index entries on stderr for -.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index -.\" entries marked with X<> in POD. Of course, you'll have to process the -.\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.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 .. -.\} -.\" -.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). -.\" Fear. Run. Save yourself. No user-serviceable parts. -. \" fudge factors for nroff and troff -.if n \{\ -. ds #H 0 -. ds #V .8m -. ds #F .3m -. ds #[ \f1 -. ds #] \fP -.\} -.if t \{\ -. ds #H ((1u-(\\\\n(.fu%2u))*.13m) -. ds #V .6m -. ds #F 0 -. ds #[ \& -. ds #] \& -.\} -. \" simple accents for nroff and troff -.if n \{\ -. ds ' \& -. ds ` \& -. ds ^ \& -. ds , \& -. ds ~ ~ -. ds / -.\} -.if t \{\ -. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" -. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' -. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' -. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' -. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' -. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' -.\} -. \" troff and (daisy-wheel) nroff accents -.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' -.ds 8 \h'\*(#H'\(*b\h'-\*(#H' -.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] -.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' -.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' -.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] -.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] -.ds ae a\h'-(\w'a'u*4/10)'e -.ds Ae A\h'-(\w'A'u*4/10)'E -. \" corrections for vroff -.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' -.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' -. \" for low resolution devices (crt and lpr) -.if \n(.H>23 .if \n(.V>19 \ -\{\ -. ds : e -. ds 8 ss -. ds o a -. ds d- d\h'-1'\(ga -. ds D- D\h'-1'\(hy -. ds th \o'bp' -. ds Th \o'LP' -. ds ae ae -. ds Ae AE -.\} -.rm #[ #] #H #V #F C -.\" ======================================================================== -.\" -.IX Title "TBLGEN 1" -.TH TBLGEN 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide" -.\" For nroff, turn off justification. Always turn off hyphenation; it makes -.\" way too many mistakes in technical documents. -.if n .ad l -.nh -.SH "NAME" -tblgen \- Target Description To C++ Code Generator -.SH "SYNOPSIS" -.IX Header "SYNOPSIS" -\&\fBtblgen\fR [\fIoptions\fR] [\fIfilename\fR] -.SH "DESCRIPTION" -.IX Header "DESCRIPTION" -\&\fBtblgen\fR translates from target description (.td) files into \*(C+ code that can -be included in the definition of an \s-1LLVM\s0 target library. Most users of \s-1LLVM\s0 will -not need to use this program. It is only for assisting with writing an \s-1LLVM\s0 +.\" Man page generated from reStructuredText. +. +.SH SYNOPSIS +.sp +\fBtblgen\fP [\fIoptions\fP] [\fIfilename\fP] +.SH DESCRIPTION +.sp +\fBtblgen\fP translates from target description (.td) 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. -.PP -The input and output of \fBtblgen\fR is beyond the scope of this short -introduction. Please see the \fICodeGeneration\fR page in the \s-1LLVM\s0 documentation. -.PP -The \fIfilename\fR argument specifies the name of a Target Description (.td) file +.sp +The input and output of \fBtblgen\fP is beyond the scope of this short +introduction. Please see the \fICodeGeneration\fP page in the LLVM documentation. +.sp +The \fIfilename\fP argument specifies the name of a Target Description (.td) file to read as input. -.SH "OPTIONS" -.IX Header "OPTIONS" -.IP "\fB\-help\fR" 4 -.IX Item "-help" +.SH OPTIONS +.sp +\fB\-help\fP +.INDENT 0.0 +.INDENT 3.5 Print a summary of command line options. -.IP "\fB\-o\fR \fIfilename\fR" 4 -.IX Item "-o filename" -Specify the output file name. If \fIfilename\fR is \f(CW\*(C`\-\*(C'\fR, then \fBtblgen\fR +.UNINDENT +.UNINDENT +.sp +\fB\-o\fP \fIfilename\fP +.INDENT 0.0 +.INDENT 3.5 +Specify the output file name. If \fIfilename\fP is \fB\-\fP, then \fBtblgen\fP sends its output to standard output. -.IP "\fB\-I\fR \fIdirectory\fR" 4 -.IX Item "-I directory" +.UNINDENT +.UNINDENT +.sp +\fB\-I\fP \fIdirectory\fP +.INDENT 0.0 +.INDENT 3.5 Specify where to find other target description files for inclusion. The -\&\fIdirectory\fR value should be a full or partial path to a directory that contains +\fIdirectory\fP value should be a full or partial path to a directory that contains target description files. -.IP "\fB\-asmparsernum\fR \fIN\fR" 4 -.IX Item "-asmparsernum N" -Make \-gen\-asm\-parser emit assembly writer number \fIN\fR. -.IP "\fB\-asmwriternum\fR \fIN\fR" 4 -.IX Item "-asmwriternum N" -Make \-gen\-asm\-writer emit assembly writer number \fIN\fR. -.IP "\fB\-class\fR \fIclass Name\fR" 4 -.IX Item "-class class Name" +.UNINDENT +.UNINDENT +.sp +\fB\-asmparsernum\fP \fIN\fP +.INDENT 0.0 +.INDENT 3.5 +Make \-gen\-asm\-parser emit assembly writer number \fIN\fP. +.UNINDENT +.UNINDENT +.sp +\fB\-asmwriternum\fP \fIN\fP +.INDENT 0.0 +.INDENT 3.5 +Make \-gen\-asm\-writer emit assembly writer number \fIN\fP. +.UNINDENT +.UNINDENT +.sp +\fB\-class\fP \fIclass Name\fP +.INDENT 0.0 +.INDENT 3.5 Print the enumeration list for this class. -.IP "\fB\-print\-records\fR" 4 -.IX Item "-print-records" +.UNINDENT +.UNINDENT +.sp +\fB\-print\-records\fP +.INDENT 0.0 +.INDENT 3.5 Print all records to standard output (default). -.IP "\fB\-print\-enums\fR" 4 -.IX Item "-print-enums" +.UNINDENT +.UNINDENT +.sp +\fB\-print\-enums\fP +.INDENT 0.0 +.INDENT 3.5 Print enumeration values for a class. -.IP "\fB\-print\-sets\fR" 4 -.IX Item "-print-sets" -Print expanded sets for testing \s-1DAG\s0 exprs. -.IP "\fB\-gen\-emitter\fR" 4 -.IX Item "-gen-emitter" +.UNINDENT +.UNINDENT +.sp +\fB\-print\-sets\fP +.INDENT 0.0 +.INDENT 3.5 +Print expanded sets for testing DAG exprs. +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-emitter\fP +.INDENT 0.0 +.INDENT 3.5 Generate machine code emitter. -.IP "\fB\-gen\-register\-info\fR" 4 -.IX Item "-gen-register-info" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-register\-info\fP +.INDENT 0.0 +.INDENT 3.5 Generate registers and register classes info. -.IP "\fB\-gen\-instr\-info\fR" 4 -.IX Item "-gen-instr-info" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-instr\-info\fP +.INDENT 0.0 +.INDENT 3.5 Generate instruction descriptions. -.IP "\fB\-gen\-asm\-writer\fR" 4 -.IX Item "-gen-asm-writer" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-asm\-writer\fP +.INDENT 0.0 +.INDENT 3.5 Generate the assembly writer. -.IP "\fB\-gen\-disassembler\fR" 4 -.IX Item "-gen-disassembler" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-disassembler\fP +.INDENT 0.0 +.INDENT 3.5 Generate disassembler. -.IP "\fB\-gen\-pseudo\-lowering\fR" 4 -.IX Item "-gen-pseudo-lowering" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-pseudo\-lowering\fP +.INDENT 0.0 +.INDENT 3.5 Generate pseudo instruction lowering. -.IP "\fB\-gen\-dag\-isel\fR" 4 -.IX Item "-gen-dag-isel" -Generate a \s-1DAG\s0 (Directed Acycle Graph) instruction selector. -.IP "\fB\-gen\-asm\-matcher\fR" 4 -.IX Item "-gen-asm-matcher" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-dag\-isel\fP +.INDENT 0.0 +.INDENT 3.5 +Generate a DAG (Directed Acycle Graph) instruction selector. +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-asm\-matcher\fP +.INDENT 0.0 +.INDENT 3.5 Generate assembly instruction matcher. -.IP "\fB\-gen\-dfa\-packetizer\fR" 4 -.IX Item "-gen-dfa-packetizer" -Generate \s-1DFA\s0 Packetizer for \s-1VLIW\s0 targets. -.IP "\fB\-gen\-fast\-isel\fR" 4 -.IX Item "-gen-fast-isel" -Generate a \*(L"fast\*(R" instruction selector. -.IP "\fB\-gen\-subtarget\fR" 4 -.IX Item "-gen-subtarget" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-dfa\-packetizer\fP +.INDENT 0.0 +.INDENT 3.5 +Generate DFA Packetizer for VLIW targets. +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-fast\-isel\fP +.INDENT 0.0 +.INDENT 3.5 +Generate a "fast" instruction selector. +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-subtarget\fP +.INDENT 0.0 +.INDENT 3.5 Generate subtarget enumerations. -.IP "\fB\-gen\-intrinsic\fR" 4 -.IX Item "-gen-intrinsic" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-intrinsic\fP +.INDENT 0.0 +.INDENT 3.5 Generate intrinsic information. -.IP "\fB\-gen\-tgt\-intrinsic\fR" 4 -.IX Item "-gen-tgt-intrinsic" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-tgt\-intrinsic\fP +.INDENT 0.0 +.INDENT 3.5 Generate target intrinsic information. -.IP "\fB\-gen\-enhanced\-disassembly\-info\fR" 4 -.IX Item "-gen-enhanced-disassembly-info" +.UNINDENT +.UNINDENT +.sp +\fB\-gen\-enhanced\-disassembly\-info\fP +.INDENT 0.0 +.INDENT 3.5 Generate enhanced disassembly info. -.IP "\fB\-version\fR" 4 -.IX Item "-version" +.UNINDENT +.UNINDENT +.sp +\fB\-version\fP +.INDENT 0.0 +.INDENT 3.5 Show the version number of this program. -.SH "EXIT STATUS" -.IX Header "EXIT STATUS" -If \fBtblgen\fR succeeds, it will exit with 0. Otherwise, if an error -occurs, it will exit with a non-zero value. -.SH "AUTHORS" -.IX Header "AUTHORS" -Maintained by The \s-1LLVM\s0 Team (<http://llvm.org/>). +.UNINDENT +.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 +2012, LLVM Project +.\" Generated by docutils manpage writer. +. |