diff options
author | dim <dim@FreeBSD.org> | 2014-03-21 17:53:59 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-03-21 17:53:59 +0000 |
commit | 9cedb8bb69b89b0f0c529937247a6a80cabdbaec (patch) | |
tree | c978f0e9ec1ab92dc8123783f30b08a7fd1e2a39 /usr.bin | |
parent | 03fdc2934eb61c44c049a02b02aa974cfdd8a0eb (diff) | |
download | FreeBSD-src-9cedb8bb69b89b0f0c529937247a6a80cabdbaec.zip FreeBSD-src-9cedb8bb69b89b0f0c529937247a6a80cabdbaec.tar.gz |
MFC 261991:
Upgrade our copy of llvm/clang to 3.4 release. This version supports
all of the features in the current working draft of the upcoming C++
standard, provisionally named C++1y.
The code generator's performance is greatly increased, and the loop
auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The
PowerPC backend has made several major improvements to code generation
quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ
backends have all seen major feature work.
Release notes for llvm and clang can be found here:
<http://llvm.org/releases/3.4/docs/ReleaseNotes.html>
<http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html>
MFC 262121 (by emaste):
Update lldb for clang/llvm 3.4 import
This commit largely restores the lldb source to the upstream r196259
snapshot with the addition of threaded inferior support and a few bug
fixes.
Specific upstream lldb revisions restored include:
SVN git
181387 779e6ac
181703 7bef4e2
182099 b31044e
182650 f2dcf35
182683 0d91b80
183862 15c1774
183929 99447a6
184177 0b2934b
184948 4dc3761
184954 007e7bc
186990 eebd175
Sponsored by: DARPA, AFRL
MFC 262186 (by emaste):
Fix mismerge in r262121
A break statement was lost in the merge. The error had no functional
impact, but restore it to reduce the diff against upstream.
MFC 262303:
Pull in r197521 from upstream clang trunk (by rdivacky):
Use the integrated assembler by default on FreeBSD/ppc and ppc64.
Requested by: jhibbits
MFC 262611:
Pull in r196874 from upstream llvm trunk:
Fix a crash that occurs when PWD is invalid.
MCJIT needs to be able to run in hostile environments, even when PWD
is invalid. There's no need to crash MCJIT in this case.
The obvious fix is to simply leave MCContext's CompilationDir empty
when PWD can't be determined. This way, MCJIT clients,
and other clients that link with LLVM don't need a valid working directory.
If we do want to guarantee valid CompilationDir, that should be done
only for clients of getCompilationDir(). This is as simple as checking
for an empty string.
The only current use of getCompilationDir is EmitGenDwarfInfo, which
won't conceivably run with an invalid working dir. However, in the
purely hypothetically and untestable case that this happens, the
AT_comp_dir will be omitted from the compilation_unit DIE.
This should help fix assertions occurring with ports-mgmt/tinderbox,
when it is using jails, and sometimes invalidates clang's current
working directory.
Reported by: decke
MFC 262809:
Pull in r203007 from upstream clang trunk:
Don't produce an alias between destructors with different calling conventions.
Fixes pr19007.
(Please note that is an LLVM PR identifier, not a FreeBSD one.)
This should fix Firefox and/or libxul crashes (due to problems with
regparm/stdcall calling conventions) on i386.
Reported by: multiple users on freebsd-current
PR: bin/187103
MFC 263048:
Repair recognition of "CC" as an alias for the C++ compiler, since it
was silently broken by upstream for a Windows-specific use-case.
Apparently some versions of CMake still rely on this archaic feature...
Reported by: rakuco
MFC 263049:
Garbage collect the old way of adding the libstdc++ include directories
in clang's InitHeaderSearch.cpp. This has been superseded by David
Chisnall's commit in r255321.
Moreover, if libc++ is used, the libstdc++ include directories should
not be in the search path at all. These directories are now only used
if you pass -stdlib=libstdc++.
Diffstat (limited to 'usr.bin')
31 files changed, 217 insertions, 477 deletions
diff --git a/usr.bin/clang/Makefile b/usr.bin/clang/Makefile index a61a418..f0ab065 100644 --- a/usr.bin/clang/Makefile +++ b/usr.bin/clang/Makefile @@ -19,8 +19,6 @@ SUBDIR+=bugpoint \ llvm-mc \ llvm-nm \ llvm-objdump \ - llvm-prof \ - llvm-ranlib \ llvm-rtdyld \ macho-dump \ opt diff --git a/usr.bin/clang/bugpoint/bugpoint.1 b/usr.bin/clang/bugpoint/bugpoint.1 index 4a180f4..8597c27 100644 --- a/usr.bin/clang/bugpoint/bugpoint.1 +++ b/usr.bin/clang/bugpoint/bugpoint.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "BUGPOINT" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "BUGPOINT" "1" "2014-01-01" "3.4" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBbugpoint\fP [\fIoptions\fP] [\fIinput LLVM ll/bc files\fP] [\fILLVM passes\fP] \fB\-\-args\fP @@ -120,14 +120,14 @@ tool. .INDENT 0.0 .INDENT 3.5 Pass all arguments specified after \fB\-\-gcc\-tool\-args\fP to the invocation of -\fBgcc\fP. +\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. +Pass all arguments specified after \fB\-\-opt\-args\fP to the invocation of \fBopt\fP\&. .UNINDENT .UNINDENT .sp @@ -154,7 +154,7 @@ mis\-management. .INDENT 0.0 .INDENT 3.5 Continually randomize the specified passes and run them on the test program -until a bug is found or the user kills \fBbugpoint\fP. +until a bug is found or the user kills \fBbugpoint\fP\&. .UNINDENT .UNINDENT .sp @@ -214,7 +214,7 @@ by compiling the program with the "safe" backend and running it. \fB\-\-profile\-info\-file\fP \fIfilename\fP .INDENT 0.0 .INDENT 3.5 -Profile file loaded by \fB\-\-profile\-loader\fP. +Profile file loaded by \fB\-\-profile\-loader\fP\&. .UNINDENT .UNINDENT .sp diff --git a/usr.bin/clang/clang-tblgen/Makefile b/usr.bin/clang/clang-tblgen/Makefile index 5cfa83d..00c7582 100644 --- a/usr.bin/clang/clang-tblgen/Makefile +++ b/usr.bin/clang/clang-tblgen/Makefile @@ -14,7 +14,6 @@ SRCS= ClangASTNodesEmitter.cpp \ ClangDiagnosticsEmitter.cpp \ ClangSACheckersEmitter.cpp \ NeonEmitter.cpp \ - OptParserEmitter.cpp \ TableGen.cpp LIBDEPS=llvmtablegen \ diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index 9ebac4f..4cd1052 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -9,6 +9,9 @@ DPADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a LDADD+= ${.OBJDIR}/../../../lib/clang/lib${lib}/lib${lib}.a .endfor +DPADD+= ${LIBNCURSES} +LDADD+= -lncurses + BINDIR?= /usr/bin .include <bsd.prog.mk> diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index cea9382..0538ecd 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -63,6 +63,7 @@ LIBDEPS=clangfrontendtool \ clangast \ clangbasic \ clanglex \ + llvmoption \ llvmlinker \ llvmirreader \ llvmipo \ @@ -84,10 +85,10 @@ LIBDEPS=clangfrontendtool \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/clang/clang.1 b/usr.bin/clang/clang/clang.1 index 3f0689f..0e84db1 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.25 (Pod::Simple 3.20) +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -39,6 +39,8 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. @@ -49,17 +51,24 @@ .\" 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" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -125,7 +134,7 @@ .\" ======================================================================== .\" .IX Title "CLANG 1" -.TH CLANG 1 "2013-06-10" "clang 3.3" "Clang Tools Documentation" +.TH CLANG 1 "2014-01-01" "clang 3.4" "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 @@ -135,7 +144,7 @@ clang \- the Clang C, C++, and Objective\-C compiler .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBclang\fR [\fB\-c\fR|\fB\-S\fR|\fB\-E\fR] \fB\-std=\fR\fIstandard\fR \fB\-g\fR - [\fB\-O0\fR|\fB\-O1\fR|\fB\-O2\fR|\fB\-Os\fR|\fB\-Oz\fR|\fB\-O3\fR|\fB\-Ofast\fR|\fB\-O4\fR] + [\fB\-O0\fR|\fB\-O1\fR|\fB\-O2\fR|\fB\-O3\fR|\fB\-Ofast\fR|\fB\-Os\fR|\fB\-Oz\fR|\fB\-O\fR|\fB\-O4\fR] \fB\-W\fR\fIwarnings...\fR \fB\-pedantic\fR \fB\-I\fR\fIdir...\fR \fB\-L\fR\fIdir...\fR \fB\-D\fR\fImacro[=defn]\fR @@ -172,8 +181,8 @@ stage is responsible for generating most of the compiler warnings as well as parse errors. The output of this stage is an \*(L"Abstract Syntax Tree\*(R" (\s-1AST\s0). .IP "\fBCode Generation and Optimization\fR" 4 .IX Item "Code Generation and Optimization" -This stage translates an \s-1AST\s0 into low-level intermediate code (known as \*(L"\s-1LLVM\s0 -\&\s-1IR\s0\*(R") and ultimately to machine code. This phase is responsible for optimizing +This stage translates an \s-1AST\s0 into low-level intermediate code (known as \*(L"\s-1LLVM +IR\*(R"\s0) and ultimately to machine code. This phase is responsible for optimizing the generated code and handling target-specific code generation. The output of this stage is typically called a \*(L".s\*(R" file or \*(L"assembly\*(R" file. .Sp @@ -198,7 +207,8 @@ stages. In addition to compilation of code, Clang also supports other tools: .PP The Clang Static Analyzer is a tool that scans source code to try to find bugs through code analysis. This tool uses many parts of Clang and is built into the -same driver. +same driver. Please see <http://clang\-analyzer.llvm.org> for more details +on how to use the static analyzer. .SH "OPTIONS" .IX Header "OPTIONS" .SS "Stage Selection Options" @@ -220,9 +230,6 @@ Run all of the above, plus the assembler, generating a target \*(L".o\*(R" objec .IX Item "no stage selection option" If no stage selection option is specified, all stages above are run, and the linker is run to combine the results into an executable or shared library. -.IP "\fB\-\-analyze\fR" 4 -.IX Item "--analyze" -Run the Clang Static Analyzer. .SS "Language Selection and Mode Options" .IX Subsection "Language Selection and Mode Options" .IP "\fB\-x\fR \fIlanguage\fR" 4 @@ -291,7 +298,7 @@ with both \s-1GC\s0 and non-GC mode. .IP "\fB\-fobjc\-abi\-version\fR=\fIversion\fR" 4 .IX Item "-fobjc-abi-version=version" Select the Objective-C \s-1ABI\s0 version to use. Available versions are 1 (legacy -\&\*(L"fragile\*(R" \s-1ABI\s0), 2 (non-fragile \s-1ABI\s0 1), and 3 (non-fragile \s-1ABI\s0 2). +\&\*(L"fragile\*(R" \s-1ABI\s0), 2 (non-fragile \s-1ABI 1\s0), and 3 (non-fragile \s-1ABI 2\s0). .IP "\fB\-fobjc\-nonfragile\-abi\-version\fR=\fIversion\fR" 4 .IX Item "-fobjc-nonfragile-abi-version=version" Select the Objective-C non-fragile \s-1ABI\s0 version to use by default. This will only @@ -299,8 +306,8 @@ be used as the Objective-C \s-1ABI\s0 when the non-fragile \s-1ABI\s0 is enabled \&\-fobjc\-nonfragile\-abi, or because it is the platform default). .IP "\fB\-fobjc\-nonfragile\-abi\fR" 4 .IX Item "-fobjc-nonfragile-abi" -Enable use of the Objective-C non-fragile \s-1ABI\s0. On platforms for which this is -the default \s-1ABI\s0, it can be disabled with \fB\-fno\-objc\-nonfragile\-abi\fR. +Enable use of the Objective-C non-fragile \s-1ABI.\s0 On platforms for which this is +the default \s-1ABI,\s0 it can be disabled with \fB\-fno\-objc\-nonfragile\-abi\fR. .SS "Target Selection Options" .IX Subsection "Target Selection Options" Clang fully supports cross compilation as an inherent part of its design. @@ -311,11 +318,11 @@ a number of cross compilers, or may only support a native target. Specify the architecture to build for. .IP "\fB\-mmacosx\-version\-min\fR=\fIversion\fR" 4 .IX Item "-mmacosx-version-min=version" -When building for Mac \s-1OS/X\s0, specify the minimum version supported by your +When building for Mac \s-1OS/X,\s0 specify the minimum version supported by your application. .IP "\fB\-miphoneos\-version\-min\fR" 4 .IX Item "-miphoneos-version-min" -When building for iPhone \s-1OS\s0, specify the minimum version supported by your +When building for iPhone \s-1OS,\s0 specify the minimum version supported by your application. .IP "\fB\-march\fR=\fIcpu\fR" 4 .IX Item "-march=cpu" @@ -325,20 +332,43 @@ generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones. .SS "Code Generation Options" .IX Subsection "Code Generation Options" -.IP "\fB\-O0\fR \fB\-O1\fR \fB\-O2\fR \fB\-Os\fR \fB\-Oz\fR \fB\-O3\fR \fB\-Ofast\fR \fB\-O4\fR" 4 -.IX Item "-O0 -O1 -O2 -Os -Oz -O3 -Ofast -O4" -Specify which optimization level to use. \fB\-O0\fR means \*(L"no optimization\*(R": this -level compiles the fastest and generates the most debuggable code. \fB\-O2\fR is a -moderate level of optimization which enables most optimizations. \fB\-Os\fR is like -\&\fB\-O2\fR with extra optimizations to reduce code size. \fB\-Oz\fR is like \fB\-Os\fR -(and thus \fB\-O2\fR), but reduces code size further. \fB\-O3\fR is like \fB\-O2\fR, -except that it enables optimizations that take longer to perform or that may -generate larger code (in an attempt to make the program run faster). -\&\fB\-Ofast\fR enables all the optimizations from \fB\-O3\fR along with other aggressive -optimizations that may violate strict compliance with language standards. On -supported platforms, \fB\-O4\fR enables link-time optimization; object files are -stored in the \s-1LLVM\s0 bitcode file format and whole program optimization is done at -link time. \fB\-O1\fR is somewhere between \fB\-O0\fR and \fB\-O2\fR. +.IP "\fB\-O0\fR \fB\-O1\fR \fB\-O2\fR \fB\-O3\fR \fB\-Ofast\fR \fB\-Os\fR \fB\-Oz\fR \fB\-O\fR \fB\-O4\fR" 4 +.IX Item "-O0 -O1 -O2 -O3 -Ofast -Os -Oz -O -O4" +Specify which optimization level to use: +.RS 4 +.IP "\fB\-O0\fR" 4 +.IX Item "-O0" +Means \*(L"no optimization\*(R": this level compiles the fastest and +generates the most debuggable code. +.IP "\fB\-O1\fR" 4 +.IX Item "-O1" +Somewhere between \fB\-O0\fR and \fB\-O2\fR. +.IP "\fB\-O2\fR" 4 +.IX Item "-O2" +Moderate level of optimization which enables most optimizations. +.IP "\fB\-O3\fR" 4 +.IX Item "-O3" +Like \fB\-O2\fR, except that it enables optimizations that take longer to perform +or that may generate larger code (in an attempt to make the program run faster). +.IP "\fB\-Ofast\fR" 4 +.IX Item "-Ofast" +Enables all the optimizations from \fB\-O3\fR along with other aggressive +optimizations that may violate strict compliance with language standards. +.IP "\fB\-Os\fR" 4 +.IX Item "-Os" +Like \fB\-O2\fR with extra optimizations to reduce code size. +.IP "\fB\-Oz\fR" 4 +.IX Item "-Oz" +Like \fB\-Os\fR (and thus \fB\-O2\fR), but reduces code size further. +.IP "\fB\-O\fR" 4 +.IX Item "-O" +Equivalent to \fB\-O2\fR. +.IP "\fB\-O4\fR and higher" 4 +.IX Item "-O4 and higher" +Currently equivalent to \fB\-O3\fR +.RE +.RS 4 +.RE .IP "\fB\-g\fR" 4 .IX Item "-g" Generate debug information. Note that Clang debug information works best at @@ -490,7 +520,7 @@ environment variable. Empty components in the environment variable are ignored. .IP "\fBC_INCLUDE_PATH\fR, \fB\s-1OBJC_INCLUDE_PATH\s0\fR, \fB\s-1CPLUS_INCLUDE_PATH\s0\fR, \fB\s-1OBJCPLUS_INCLUDE_PATH\s0\fR" 4 .IX Item "C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH" -These environment variables specify additional paths, as for \s-1CPATH\s0, +These environment variables specify additional paths, as for \s-1CPATH,\s0 which are only used when processing the appropriate language. .IP "\fB\s-1MACOSX_DEPLOYMENT_TARGET\s0\fR" 4 .IX Item "MACOSX_DEPLOYMENT_TARGET" diff --git a/usr.bin/clang/llc/Makefile b/usr.bin/clang/llc/Makefile index 75873a3..49af326 100644 --- a/usr.bin/clang/llc/Makefile +++ b/usr.bin/clang/llc/Makefile @@ -23,10 +23,10 @@ LIBDEPS=llvmirreader \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/llc/llc.1 b/usr.bin/clang/llc/llc.1 index e231f21..81fd80a 100644 --- a/usr.bin/clang/llc/llc.1 +++ b/usr.bin/clang/llc/llc.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLC" "1" "2013-06-10" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLC" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llc \- LLVM static compiler . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllc\fP [\fIoptions\fP] [\fIfilename\fP] @@ -41,13 +41,13 @@ for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate a native executable. .sp The choice of architecture for the output assembly code is automatically -determined from the input file, unless the \fI\%-march\fP option is used to +determined from the input file, unless the \fI\%\-march\fP option is used to override the default. .SH OPTIONS .sp If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP reads from standard input. -Otherwise, it will from \fBfilename\fP. Inputs can be in either the LLVM assembly -language format (\fB.ll\fP) or the LLVM bitcode format (\fB.bc\fP). +Otherwise, it will from \fBfilename\fP\&. Inputs can be in either the LLVM assembly +language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). .sp If the \fI\-o\fP option is omitted, then \fBllc\fP will send its output to standard output if the input is from standard input. If the \fI\-o\fP @@ -55,7 +55,7 @@ option specifies "\fB\-\fP", then the output will also be sent to standard outpu .sp If no \fI\-o\fP option is specified and an input file other than "\fB\-\fP" is specified, then \fBllc\fP creates the output filename by taking the input -filename, removing any existing \fB.bc\fP extension, and adding a \fB.s\fP suffix. +filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix. .sp Other \fBllc\fP options are described below. .SS End\-user Options @@ -69,7 +69,7 @@ Print a summary of command line options. .B \-O=uint Generate code at different optimization levels. These correspond to the \fB\-O0\fP, \fB\-O1\fP, \fB\-O2\fP, and \fB\-O3\fP optimization levels used by -\fBllvm\-gcc\fP and \fBclang\fP. +\fBllvm\-gcc\fP and \fBclang\fP\&. .UNINDENT .INDENT 0.0 .TP @@ -180,7 +180,7 @@ error. .B \-\-load=<dso_path> Dynamically load \fBdso_path\fP (a path to a dynamically shared object) that implements an LLVM target. This will permit the target name to be used with -the \fI\%-march\fP option so that code can be generated for that target. +the \fI\%\-march\fP option so that code can be generated for that target. .UNINDENT .SS Tuning/Configuration Options .INDENT 0.0 @@ -191,34 +191,34 @@ Print generated machine code between compilation phases (useful for debugging). .INDENT 0.0 .TP .B \-\-regalloc=<allocator> -Specify the register allocator to use. The default \fBallocator\fP is \fIlocal\fP. +Specify the register allocator to use. Valid register allocators are: .sp -\fIsimple\fP +\fIbasic\fP .INDENT 7.0 .INDENT 3.5 -Very simple "always spill" register allocator +Basic register allocator. .UNINDENT .UNINDENT .sp -\fIlocal\fP +\fIfast\fP .INDENT 7.0 .INDENT 3.5 -Local register allocator +Fast register allocator. It is the default for unoptimized code. .UNINDENT .UNINDENT .sp -\fIlinearscan\fP +\fIgreedy\fP .INDENT 7.0 .INDENT 3.5 -Linear scan global register allocator +Greedy register allocator. It is the default for optimized code. .UNINDENT .UNINDENT .sp -\fIiterativescan\fP +\fIpbqp\fP .INDENT 7.0 .INDENT 3.5 -Iterative scan global register allocator +Register allocator based on \(aqPartitioned Boolean Quadratic Programming\(aq. .UNINDENT .UNINDENT .UNINDENT @@ -227,7 +227,7 @@ Iterative scan global register allocator .B \-\-spiller=<spiller> Specify the spiller to use for register allocators that support it. Currently this option is used only by the linear scan register allocator. The default -\fBspiller\fP is \fIlocal\fP. Valid spillers are: +\fBspiller\fP is \fIlocal\fP\&. Valid spillers are: .sp \fIsimple\fP .INDENT 7.0 diff --git a/usr.bin/clang/lldb/Makefile b/usr.bin/clang/lldb/Makefile index 5b7335c..bde2bcf 100644 --- a/usr.bin/clang/lldb/Makefile +++ b/usr.bin/clang/lldb/Makefile @@ -77,6 +77,7 @@ LIBDEPS=\ clangbasic \ clanglex \ \ + llvmoption \ llvmarmasmparser \ llvmarmcodegen \ llvminstrumentation \ diff --git a/usr.bin/clang/lli/Makefile b/usr.bin/clang/lli/Makefile index 1916fb0..ecce2c5 100644 --- a/usr.bin/clang/lli/Makefile +++ b/usr.bin/clang/lli/Makefile @@ -6,8 +6,9 @@ PROG_CXX=lli SRCDIR= tools/lli SRCS= lli.cpp \ - RecordingMemoryManager.cpp \ - RemoteTarget.cpp + RemoteMemoryManager.cpp \ + RemoteTarget.cpp \ + RemoteTargetExternal.cpp LIBDEPS=llvmx86disassembler \ llvmx86asmparser \ @@ -23,6 +24,7 @@ LIBDEPS=llvmx86disassembler \ llvmasmprinter \ llvmmcparser \ llvminterpreter \ + llvminstrumentation \ llvmmcjit \ llvmjit \ llvmcodegen \ diff --git a/usr.bin/clang/lli/lli.1 b/usr.bin/clang/lli/lli.1 index 16b8374..e1ea14c 100644 --- a/usr.bin/clang/lli/lli.1 +++ b/usr.bin/clang/lli/lli.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLI" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLI" "1" "2014-01-01" "3.4" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBlli\fP [\fIoptions\fP] [\fIfilename\fP] [\fIprogram args\fP] diff --git a/usr.bin/clang/llvm-ar/Makefile b/usr.bin/clang/llvm-ar/Makefile index 592be46..fc41038 100644 --- a/usr.bin/clang/llvm-ar/Makefile +++ b/usr.bin/clang/llvm-ar/Makefile @@ -7,7 +7,7 @@ PROG_CXX=llvm-ar SRCDIR= tools/llvm-ar SRCS= llvm-ar.cpp -LIBDEPS=llvmarchive \ +LIBDEPS=llvmobject \ llvmbitreader \ llvmcore \ llvmsupport diff --git a/usr.bin/clang/llvm-ar/llvm-ar.1 b/usr.bin/clang/llvm-ar/llvm-ar.1 index b920cf5..11fc856 100644 --- a/usr.bin/clang/llvm-ar/llvm-ar.1 +++ b/usr.bin/clang/llvm-ar/llvm-ar.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-AR" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-AR" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-ar \- LLVM archiver . @@ -29,14 +31,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" 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 +The \fBllvm\-ar\fP command is similar to the common Unix utility, \fBar\fP\&. It archives several files together into a single file. The intent for this is to produce archive libraries by LLVM bitcode that can be linked into an LLVM program. However, the archive can contain any kind of file. By default, @@ -44,66 +44,26 @@ LLVM program. However, the archive can contain any kind of file. By default, only the symbol table needs to be consulted, not each individual file member of the archive. .sp -The \fBllvm\-ar\fP command can be used to \fIread\fP 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\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 +The \fBllvm\-ar\fP command can be used to \fIread\fP SVR4, GNU and BSD style archive +files. However, right now it can only write in the GNU format. If an SVR4 or BSD style archive is used with the \fBr\fP (replace) or \fBq\fP (quick -update) operations, the archive will be reconstructed in 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. +update) operations, the archive will be reconstructed in GNU format. .sp Here\(aqs where \fBllvm\-ar\fP departs from previous \fBar\fP implementations: .sp \fISymbol Table\fP .INDENT 0.0 .INDENT 3.5 -Since \fBllvm\-ar\fP 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 LSB 4byte integer and a null\-terminated -string. +Since \fBllvm\-ar\fP supports bitcode files. The symbol table it creates +is in GNU format and includes both native and bitcode files. .UNINDENT .UNINDENT .sp \fILong Paths\fP .INDENT 0.0 .INDENT 3.5 -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. -.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. -.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. +Currently \fBllvm\-ar\fP can read GNU and BSD long file names, but only writes +archives with the GNU format. .UNINDENT .UNINDENT .SH OPTIONS @@ -117,7 +77,7 @@ determine how \fBllvm\-ar\fP should process the archive file. .sp The Operations and Modifiers are explained in the sections below. The minimal set of options is at least one operator and the name of the archive. Typically -archive files end with a \fB.a\fP suffix, but this is not required. Following +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. @@ -144,22 +104,21 @@ archive is not modified. .UNINDENT .UNINDENT .sp -p[k] +p .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. +Print files to the standard output. This operation simply prints the +\fIfiles\fP indicated to the standard output. If no \fIfiles\fP are +specified, the entire archive is printed. Printing bitcode files is +ill\-advised as they might confuse your terminal settings. The \fIp\fP +operation never modifies the archive. .UNINDENT .UNINDENT .sp -q[Rf] +q .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 +Quickly append files to the end of the archive. This operation quickly adds the \fIfiles\fP to the archive without checking for duplicates that should be removed first. If no \fIfiles\fP are specified, the archive is not modified. Because of the way that \fBllvm\-ar\fP constructs the archive file, its dubious @@ -167,10 +126,10 @@ whether the \fIq\fP operation is any faster than the \fIr\fP operation. .UNINDENT .UNINDENT .sp -r[Rabfu] +r[abu] .INDENT 0.0 .INDENT 3.5 -Replace or insert file members. The \fIR\fP, \fIa\fP, \fIb\fP, \fIf\fP, and \fIu\fP +Replace or insert file members. The \fIa\fP, \fIb\fP, and \fIu\fP modifiers apply to this operation. This operation will replace existing \fIfiles\fP or insert them at the end of the archive if they do not exist. If no \fIfiles\fP are specified, the archive is not modified. @@ -223,18 +182,6 @@ 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 \fBar\fP but may also -thwart correct extraction of the files (duplicates may overwrite). If used with -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 @@ -242,22 +189,6 @@ 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. -.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 @@ -266,24 +197,6 @@ original modification times of the files it writes. .UNINDENT .UNINDENT .sp -[P] -.INDENT 0.0 -.INDENT 3.5 -use full path names when matching -.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. -.UNINDENT -.UNINDENT -.sp [u] .INDENT 0.0 .INDENT 3.5 @@ -310,8 +223,7 @@ archive is being created. Using this modifier turns off that warning. 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|llvm\-ranlib which also creates the symbol table. +bitcode files in the archive. .UNINDENT .UNINDENT .sp @@ -335,7 +247,7 @@ what is being done. .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 +(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 @@ -428,12 +340,6 @@ utility in identifying archive files that have been corrupted. .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: -.sp offset \- vbr encoded 32\-bit integer .INDENT 0.0 .INDENT 3.5 @@ -461,7 +367,7 @@ symbol \- character array .INDENT 0.0 .INDENT 3.5 The symbol item provides the text of the symbol that is associated with the -\fIoffset\fP. The symbol is not terminated by any character. Its length is provided +\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. @@ -475,7 +381,7 @@ exit code of 2. Miscellaneous or unknown errors result in an exit code of 3. .SH SEE ALSO .sp -llvm\-ranlib|llvm\-ranlib, ar(1) +ar(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT diff --git a/usr.bin/clang/llvm-as/llvm-as.1 b/usr.bin/clang/llvm-as/llvm-as.1 index 79e6e39..bca402b 100644 --- a/usr.bin/clang/llvm-as/llvm-as.1 +++ b/usr.bin/clang/llvm-as/llvm-as.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-AS" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-AS" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-as \- LLVM assembler . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-as\fP [\fIoptions\fP] [\fIfilename\fP] @@ -50,11 +50,11 @@ these rules: .IP \(bu 2 If the input is standard input, then the output is standard output. .IP \(bu 2 -If the input is a file that ends with \fB.ll\fP, then the output file is of the -same name, except that the suffix is changed to \fB.bc\fP. +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 +If the input is a file that does not end with the \fB\&.ll\fP suffix, then the +output file has the same name as the input file, except that the \fB\&.bc\fP suffix is appended. .UNINDENT .SH OPTIONS diff --git a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 index 572d91b..1745278 100644 --- a/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 +++ b/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-BCANALYZER" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-BCANALYZER" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-bcanalyzer \- LLVM bitcode analyzer . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-bcanalyzer\fP [\fIoptions\fP] [\fIfilename\fP] diff --git a/usr.bin/clang/llvm-diff/llvm-diff.1 b/usr.bin/clang/llvm-diff/llvm-diff.1 index 9d4446e..7445bc7 100644 --- a/usr.bin/clang/llvm-diff/llvm-diff.1 +++ b/usr.bin/clang/llvm-diff/llvm-diff.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-DIFF" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-DIFF" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-diff \- LLVM structural 'diff' . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-diff\fP [\fIoptions\fP] \fImodule 1\fP \fImodule 2\fP [\fIglobal name ...\fP] diff --git a/usr.bin/clang/llvm-dis/llvm-dis.1 b/usr.bin/clang/llvm-dis/llvm-dis.1 index fa3c012..d3096a6 100644 --- a/usr.bin/clang/llvm-dis/llvm-dis.1 +++ b/usr.bin/clang/llvm-dis/llvm-dis.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-DIS" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-DIS" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-dis \- LLVM disassembler . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-dis\fP [\fIoptions\fP] [\fIfilename\fP] @@ -45,7 +45,7 @@ input from standard input. If the input is being read from standard input, then \fBllvm\-dis\fP will send its output to standard output by default. Otherwise, the output will be written to a file named after the input file, with -a \fB.ll\fP suffix added (any existing \fB.bc\fP suffix will first be +a \fB\&.ll\fP suffix added (any existing \fB\&.bc\fP suffix will first be removed). You can override the choice of output file using the \fB\-o\fP option. .SH OPTIONS diff --git a/usr.bin/clang/llvm-extract/llvm-extract.1 b/usr.bin/clang/llvm-extract/llvm-extract.1 index 6871124..579b0f6 100644 --- a/usr.bin/clang/llvm-extract/llvm-extract.1 +++ b/usr.bin/clang/llvm-extract/llvm-extract.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-EXTRACT" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-EXTRACT" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-extract \- extract a function from an LLVM module . @@ -29,32 +31,31 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" 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. +The \fBllvm\-extract\fP command takes the name of a function and extracts +it from the specified LLVM bitcode file. It is primarily used as a debugging +tool to reduce test cases from larger programs that are triggering a bug. .sp In addition to extracting the bitcode of the specified function, -\fBllvm\-extract\fP will also remove unreachable global variables, prototypes, and -unused types. +\fBllvm\-extract\fP will also remove unreachable global variables, +prototypes, and unused types. .sp -The \fBllvm\-extract\fP command reads its input from standard input if filename is -omitted or if filename is \-. The output is always written to standard output, -unless the \fB\-o\fP option is specified (see below). +The \fBllvm\-extract\fP command reads its input from standard input if +filename is omitted or if filename is \fB\-\fP\&. The output is always written to +standard output, unless the \fB\-o\fP option is specified (see below). .SH OPTIONS .sp \fB\-f\fP .INDENT 0.0 .INDENT 3.5 -Enable binary output on terminals. Normally, \fBllvm\-extract\fP will refuse to -write raw bitcode output if the output stream is a terminal. With this option, -\fBllvm\-extract\fP will write raw bitcode regardless of the output device. +Enable binary output on terminals. Normally, \fBllvm\-extract\fP will +refuse to write raw bitcode output if the output stream is a terminal. With +this option, \fBllvm\-extract\fP will write raw bitcode regardless of the +output device. .UNINDENT .UNINDENT .sp @@ -87,8 +88,8 @@ specified multiple times to extract multiple global variables at once. .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. +bitcode. All global variables matching the regular expression will be +extracted. May be specified multiple times. .UNINDENT .UNINDENT .sp @@ -119,7 +120,7 @@ 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 +bugpoint .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT diff --git a/usr.bin/clang/llvm-link/llvm-link.1 b/usr.bin/clang/llvm-link/llvm-link.1 index 46f24ee..0ac2d28 100644 --- a/usr.bin/clang/llvm-link/llvm-link.1 +++ b/usr.bin/clang/llvm-link/llvm-link.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-LINK" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-LINK" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-link \- LLVM bitcode linker . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-link\fP [\fIoptions\fP] \fIfilename ...\fP diff --git a/usr.bin/clang/llvm-mc/Makefile b/usr.bin/clang/llvm-mc/Makefile index 442185c..6199ca1 100644 --- a/usr.bin/clang/llvm-mc/Makefile +++ b/usr.bin/clang/llvm-mc/Makefile @@ -23,10 +23,10 @@ LIBDEPS=llvmmcdisassembler \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/llvm-nm/Makefile b/usr.bin/clang/llvm-nm/Makefile index bff0cdf..762cda3 100644 --- a/usr.bin/clang/llvm-nm/Makefile +++ b/usr.bin/clang/llvm-nm/Makefile @@ -8,7 +8,6 @@ SRCDIR= tools/llvm-nm SRCS= llvm-nm.cpp LIBDEPS=llvmobject \ - llvmarchive \ llvmbitreader \ llvmcore \ llvmsupport diff --git a/usr.bin/clang/llvm-nm/llvm-nm.1 b/usr.bin/clang/llvm-nm/llvm-nm.1 index ddfabad..1683289 100644 --- a/usr.bin/clang/llvm-nm/llvm-nm.1 +++ b/usr.bin/clang/llvm-nm/llvm-nm.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "LLVM-NM" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "LLVM-NM" "1" "2014-01-01" "3.4" "LLVM" .SH NAME llvm-nm \- list LLVM bitcode and object file's symbol table . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBllvm\-nm\fP [\fIoptions\fP] [\fIfilenames...\fP] @@ -38,8 +38,8 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .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, +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 @@ -109,18 +109,18 @@ Something unrecognizable Because LLVM bitcode files typically contain objects that are not considered to have addresses until they are linked into an executable image or dynamically compiled "just\-in\-time", \fBllvm\-nm\fP does not print an address for any -symbol in a LLVM bitcode file, even symbols which are defined in the bitcode +symbol in an LLVM bitcode file, even symbols which are defined in the bitcode file. .SH OPTIONS .INDENT 0.0 .TP .B \-B (default) -Use BSD output format. Alias for \fI\-\-format=bsd\fP. +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. +Use POSIX.2 output format. Alias for \fI\-\-format=posix\fP\&. .UNINDENT .INDENT 0.0 .TP @@ -148,8 +148,8 @@ from other files. .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. +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 @@ -204,7 +204,7 @@ can. \fBllvm\-nm\fP exits with an exit code of zero. .SH SEE ALSO .sp -llvm\-dis|llvm\-dis, ar(1), nm(1) +llvm\-dis, ar(1), nm(1) .SH AUTHOR Maintained by The LLVM Team (http://llvm.org/). .SH COPYRIGHT diff --git a/usr.bin/clang/llvm-objdump/Makefile b/usr.bin/clang/llvm-objdump/Makefile index 4a0a235..4d2aa12 100644 --- a/usr.bin/clang/llvm-objdump/Makefile +++ b/usr.bin/clang/llvm-objdump/Makefile @@ -11,8 +11,7 @@ SRCDIR= tools/llvm-objdump SRCS= llvm-objdump.cpp \ COFFDump.cpp \ ELFDump.cpp \ - MachODump.cpp \ - MCFunction.cpp + MachODump.cpp LIBDEPS=llvmmcdisassembler \ llvmdebuginfo \ @@ -29,10 +28,10 @@ LIBDEPS=llvmmcdisassembler \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/llvm-prof/Makefile b/usr.bin/clang/llvm-prof/Makefile deleted file mode 100644 index 3dff62a..0000000 --- a/usr.bin/clang/llvm-prof/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -# $FreeBSD$ - -.include <bsd.own.mk> - -PROG_CXX=llvm-prof - -SRCDIR= tools/llvm-prof -SRCS= llvm-prof.cpp - -LIBDEPS=llvmanalysis \ - llvmtarget \ - llvmmc \ - llvmobject \ - llvmbitreader \ - llvmcore \ - llvmsupport - -.include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-prof/llvm-prof.1 b/usr.bin/clang/llvm-prof/llvm-prof.1 deleted file mode 100644 index ab5b603..0000000 --- a/usr.bin/clang/llvm-prof/llvm-prof.1 +++ /dev/null @@ -1,86 +0,0 @@ -.\" $FreeBSD$ -.TH "LLVM-PROF" "1" "2013-04-11" "3.3" "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] -.. -.de1 INDENT -.\" .rstReportMargin pre: -. RS \\$1 -. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] -. nr rst2man-indent-level +1 -.\" .rstReportMargin post: -.. -.de UNINDENT -. RE -.\" indent \\n[an-margin] -.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] -.nr rst2man-indent-level -1 -.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] -.in \\n[rst2man-indent\\n[rst2man-indent-level]]u -.. -.\" 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. -.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. -.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. -.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. -.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 -Maintained by The LLVM Team (http://llvm.org/). -.SH COPYRIGHT -2003-2013, LLVM Project -.\" Generated by docutils manpage writer. -. diff --git a/usr.bin/clang/llvm-ranlib/Makefile b/usr.bin/clang/llvm-ranlib/Makefile deleted file mode 100644 index 2414e1f..0000000 --- a/usr.bin/clang/llvm-ranlib/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# $FreeBSD$ - -.include <bsd.own.mk> - -PROG_CXX=llvm-ranlib - -SRCDIR= tools/llvm-ranlib -SRCS= llvm-ranlib.cpp - -LIBDEPS=llvmarchive \ - llvmbitreader \ - llvmcore \ - llvmsupport - -.include "../clang.prog.mk" diff --git a/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 b/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 deleted file mode 100644 index ead004a..0000000 --- a/usr.bin/clang/llvm-ranlib/llvm-ranlib.1 +++ /dev/null @@ -1,80 +0,0 @@ -.\" $FreeBSD$ -.TH "LLVM-RANLIB" "1" "2013-04-11" "3.3" "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] -.. -.de1 INDENT -.\" .rstReportMargin pre: -. RS \\$1 -. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] -. nr rst2man-indent-level +1 -.\" .rstReportMargin post: -.. -.de UNINDENT -. RE -.\" indent \\n[an-margin] -.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] -.nr rst2man-indent-level -1 -.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] -.in \\n[rst2man-indent\\n[rst2man-indent-level]]u -.. -.\" 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 -\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 -.sp -llvm\-ar|llvm\-ar, ranlib(1) -.SH AUTHOR -Maintained by The LLVM Team (http://llvm.org/). -.SH COPYRIGHT -2003-2013, LLVM Project -.\" Generated by docutils manpage writer. -. diff --git a/usr.bin/clang/llvm-rtdyld/Makefile b/usr.bin/clang/llvm-rtdyld/Makefile index f004326..721eb59 100644 --- a/usr.bin/clang/llvm-rtdyld/Makefile +++ b/usr.bin/clang/llvm-rtdyld/Makefile @@ -27,10 +27,10 @@ LIBDEPS=llvmdebuginfo \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/opt/Makefile b/usr.bin/clang/opt/Makefile index 2364c70..083ec9b 100644 --- a/usr.bin/clang/opt/Makefile +++ b/usr.bin/clang/opt/Makefile @@ -24,10 +24,10 @@ LIBDEPS=llvmarmdisassembler \ llvmmipsinfo \ llvmmipsinstprinter \ llvmpowerpccodegen \ - llvmpowerpcdesc \ - llvmpowerpcinstprinter \ llvmpowerpcasmparser \ + llvmpowerpcdesc \ llvmpowerpcinfo \ + llvmpowerpcinstprinter \ llvmx86disassembler \ llvmx86asmparser \ llvmx86codegen \ diff --git a/usr.bin/clang/opt/opt.1 b/usr.bin/clang/opt/opt.1 index 4ac0caa..8e1960a 100644 --- a/usr.bin/clang/opt/opt.1 +++ b/usr.bin/clang/opt/opt.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "OPT" "1" "2013-06-10" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "OPT" "1" "2014-01-01" "3.4" "LLVM" .SH NAME opt \- LLVM optimizer . @@ -29,8 +31,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBopt\fP [\fIoptions\fP] [\fIfilename\fP] @@ -51,14 +51,14 @@ program. While \fI\-analyze\fP is \fInot\fP given, \fBopt\fP attempts to produce an optimized output file. The optimizations available via \fBopt\fP depend upon what libraries were linked into it as well as any additional libraries -that have been loaded with the \fI\%-load\fP option. Use the \fI\%-help\fP +that have been loaded with the \fI\%\-load\fP option. Use the \fI\%\-help\fP option to determine what optimizations you can use. .sp If \fBfilename\fP is omitted from the command line or is "\fB\-\fP", \fBopt\fP reads its input from standard input. Inputs can be in either the LLVM assembly -language format (\fB.ll\fP) or the LLVM bitcode format (\fB.bc\fP). +language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). .sp -If an output filename is not specified with the \fI\%-o\fP option, +If an output filename is not specified with the \fI\%\-o\fP option, \fBopt\fP writes its output to the standard output. .SH OPTIONS .INDENT 0.0 @@ -87,7 +87,7 @@ Write output in LLVM intermediate language (instead of bitcode). .TP .B \-{passname} \fBopt\fP provides the ability to run any of LLVM\(aqs optimization or -analysis passes in any order. The \fI\%-help\fP option lists all the passes +analysis passes in any order. The \fI\%\-help\fP option lists all the passes available. The order in which the options occur on the command line are the order in which they are executed (within pass constraints). .UNINDENT @@ -112,16 +112,16 @@ llvm\-as < /dev/null | opt \-std\-compile\-opts \-disable\-output \-debug\-pass= .INDENT 0.0 .TP .B \-disable\-inlining -This option is only meaningful when \fI\%-std-compile-opts\fP is given. It +This option is only meaningful when \fI\%\-std\-compile\-opts\fP is given. It simply removes the inlining pass from the standard list. .UNINDENT .INDENT 0.0 .TP .B \-disable\-opt -This option is only meaningful when \fI\%-std-compile-opts\fP is given. It -disables most, but not all, of the \fI\%-std-compile-opts\fP. The ones that +This option is only meaningful when \fI\%\-std\-compile\-opts\fP is given. It +disables most, but not all, of the \fI\%\-std\-compile\-opts\fP\&. The ones that remain are \fI\-verify\fP, \fI\-lower\-setjmp\fP, and -\fI\-funcresolve\fP. +\fI\-funcresolve\fP\&. .UNINDENT .INDENT 0.0 .TP @@ -137,7 +137,7 @@ This option causes opt to add a verify pass after every pass otherwise specified on the command line (including \fI\-verify\fP). This is useful for cases where it is suspected that a pass is creating an invalid module but it is not clear which pass is doing it. The combination of -\fI\%-std-compile-opts\fP and \fI\%-verify-each\fP can quickly track down +\fI\%\-std\-compile\-opts\fP and \fI\%\-verify\-each\fP can quickly track down this kind of problem. .UNINDENT .INDENT 0.0 @@ -160,15 +160,15 @@ error. .TP .B \-debug If this is a debug build, this option will enable debug printouts from passes -which use the \fBDEBUG()\fP macro. See the \fI\%LLVM Programmer's Manual\fP, section \fB#DEBUG\fP for more information. +which use the \fBDEBUG()\fP macro. See the \fI\%LLVM Programmer\(aqs Manual\fP, section \fB#DEBUG\fP for more information. .UNINDENT .INDENT 0.0 .TP .B \-load=<plugin> -Load the dynamic object \fBplugin\fP. This object should register new +Load the dynamic object \fBplugin\fP\&. This object should register new optimization or analysis passes. Once loaded, the object will add new command line options to enable various optimizations or analyses. To see the new -complete list of optimizations, use the \fI\%-help\fP and \fI\%-load\fP +complete list of optimizations, use the \fI\%\-help\fP and \fI\%\-load\fP options together. For example: .INDENT 7.0 .INDENT 3.5 diff --git a/usr.bin/clang/tblgen/tblgen.1 b/usr.bin/clang/tblgen/tblgen.1 index b0d0697..95036eb 100644 --- a/usr.bin/clang/tblgen/tblgen.1 +++ b/usr.bin/clang/tblgen/tblgen.1 @@ -1,5 +1,7 @@ .\" $FreeBSD$ -.TH "TBLGEN" "1" "2013-04-11" "3.3" "LLVM" +.\" Man page generated from reStructuredText. +. +.TH "TBLGEN" "1" "2014-01-01" "3.4" "LLVM" .SH NAME tblgen \- Target Description To C++ Code Generator . @@ -29,22 +31,20 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. -.\" Man page generated from reStructuredText. -. .SH SYNOPSIS .sp \fBtblgen\fP [\fIoptions\fP] [\fIfilename\fP] .SH DESCRIPTION .sp -\fBtblgen\fP translates from target description (\fB.td\fP) files into C++ +\fBtblgen\fP translates from target description (\fB\&.td\fP) files into C++ code that can be included in the definition of an LLVM target library. Most users of LLVM will not need to use this program. It is only for assisting with writing an LLVM target backend. .sp The input and output of \fBtblgen\fP is beyond the scope of this short -introduction. Please see \fB../TableGenFundamentals\fP. +introduction. Please see \fB\&../TableGenFundamentals\fP\&. .sp -The \fIfilename\fP argument specifies the name of a Target Description (\fB.td\fP) +The \fIfilename\fP argument specifies the name of a Target Description (\fB\&.td\fP) file to read as input. .SH OPTIONS .INDENT 0.0 @@ -68,12 +68,12 @@ contains target description files. .INDENT 0.0 .TP .B \-asmparsernum N -Make \-gen\-asm\-parser emit assembly writer number \fBN\fP. +Make \-gen\-asm\-parser emit assembly writer number \fBN\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-asmwriternum N -Make \-gen\-asm\-writer emit assembly writer number \fBN\fP. +Make \-gen\-asm\-writer emit assembly writer number \fBN\fP\&. .UNINDENT .INDENT 0.0 .TP |