Add manpages for clang and tblgen. These were generated from upstream's
tools/clang/docs/tools/clang.pod and docs/CommandGuide/tblgen.pod, respectively. Approved-by: rpaulo (mentor)
This commit is contained in:
parent
47bcfb6422
commit
0d2d8fab68
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=213224
@ -8,7 +8,6 @@ SRCDIR= tools/clang/tools/driver
|
||||
SRCS= cc1_main.cpp \
|
||||
cc1as_main.cpp \
|
||||
driver.cpp
|
||||
MAN=
|
||||
|
||||
LINKS= ${BINDIR}/clang ${BINDIR}/clang++
|
||||
|
||||
|
500
usr.bin/clang/clang/clang.1
Normal file
500
usr.bin/clang/clang/clang.1
Normal file
@ -0,0 +1,500 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
|
||||
.\"
|
||||
.\" 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 "CLANG 1"
|
||||
.TH CLANG 1 "2010-09-27" "Clang 2.8" "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
|
||||
.nh
|
||||
.SH "NAME"
|
||||
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\-O3\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
|
||||
\fB\-f\fR\fIfeature-option...\fR
|
||||
\fB\-m\fR\fImachine-option...\fR
|
||||
\fB\-o\fR \fIoutput-file\fR
|
||||
\fB\-stdlib=\fR\fIlibrary\fR
|
||||
\fIinput-filenames\fR
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
\&\fBclang\fR is a C, \*(C+, and Objective-C compiler which encompasses preprocessing,
|
||||
parsing, optimization, code generation, assembly, and linking. Depending on
|
||||
which high-level mode setting is passed, Clang will stop before doing a full
|
||||
link. While Clang is highly integrated, it is important to understand the
|
||||
stages of compilation, to understand how to invoke it. These stages are:
|
||||
.IP "\fBDriver\fR" 4
|
||||
.IX Item "Driver"
|
||||
The \fBclang\fR executable is actually a small driver which controls the overall
|
||||
execution of other tools such as the compiler, assembler and linker. Typically
|
||||
you do not need to interact with the driver, but you transparently use it to run
|
||||
the other tools.
|
||||
.IP "\fBPreprocessing\fR" 4
|
||||
.IX Item "Preprocessing"
|
||||
This stage handles tokenization of the input source file, macro expansion,
|
||||
#include expansion and handling of other preprocessor directives. The output of
|
||||
this stage is typically called a \*(L".i\*(R" (for C), \*(L".ii\*(R" (for \*(C+), \*(L".mi\*(R" (for
|
||||
Objective-C) , or \*(L".mii\*(R" (for Objective\-\*(C+) file.
|
||||
.IP "\fBParsing and Semantic Analysis\fR" 4
|
||||
.IX Item "Parsing and Semantic Analysis"
|
||||
This stage parses the input file, translating preprocessor tokens into a parse
|
||||
tree. Once in the form of a parser tree, it applies semantic analysis to compute
|
||||
types for expressions as well and determine whether the code is well formed. This
|
||||
stage is responsible for generating most of the compiler warnings as well as
|
||||
parse errors. The output of this stage is an \*(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
|
||||
the generated code and handling target-specfic code generation. The output of
|
||||
this stage is typically called a \*(L".s\*(R" file or \*(L"assembly\*(R" file.
|
||||
.Sp
|
||||
Clang also supports the use of an integrated assembler, in which the code
|
||||
generator produces object files directly. This avoids the overhead of generating
|
||||
the \*(L".s\*(R" file and of calling the target assembler.
|
||||
.IP "\fBAssembler\fR" 4
|
||||
.IX Item "Assembler"
|
||||
This stage runs the target assembler to translate the output of the compiler
|
||||
into a target object file. The output of this stage is typically called a \*(L".o\*(R"
|
||||
file or \*(L"object\*(R" file.
|
||||
.IP "\fBLinker\fR" 4
|
||||
.IX Item "Linker"
|
||||
This stage runs the target linker to merge multiple object files into an
|
||||
executable or dynamic library. The output of this stage is typically called an
|
||||
\&\*(L"a.out\*(R", \*(L".dylib\*(R" or \*(L".so\*(R" file.
|
||||
.PP
|
||||
The Clang compiler supports a large number of options to control each of these
|
||||
stages. In addition to compilation of code, Clang also supports other tools:
|
||||
.PP
|
||||
\&\fBClang Static Analyzer\fR
|
||||
.PP
|
||||
The Clang Static Analyzer is a tool that scans source code to try to find bugs
|
||||
though code analysis. This tool uses many parts of Clang and is built into the
|
||||
same driver.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.SS "Stage Selection Options"
|
||||
.IX Subsection "Stage Selection Options"
|
||||
.IP "\fB\-E\fR" 4
|
||||
.IX Item "-E"
|
||||
Run the preprocessor stage.
|
||||
.IP "\fB\-fsyntax\-only\fR" 4
|
||||
.IX Item "-fsyntax-only"
|
||||
Run the preprocessor, parser and type checking stages.
|
||||
.IP "\fB\-S\fR" 4
|
||||
.IX Item "-S"
|
||||
Run the previous stages as well as \s-1LLVM\s0 generation and optimization stages and
|
||||
target-specific code generation, producing an assembly file.
|
||||
.IP "\fB\-c\fR" 4
|
||||
.IX Item "-c"
|
||||
Run all of the above, plus the assembler, generating a target \*(L".o\*(R" object file.
|
||||
.IP "\fBno stage selection option\fR" 4
|
||||
.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
|
||||
.IX Item "-x language"
|
||||
Treat subsequent input files as having type \fIlanguage\fR.
|
||||
.IP "\fB\-std\fR=\fIlanguage\fR" 4
|
||||
.IX Item "-std=language"
|
||||
Specify the language standard to compile for.
|
||||
.IP "\fB\-stdlib\fR=\fIlanguage\fR" 4
|
||||
.IX Item "-stdlib=language"
|
||||
Specify the \*(C+ standard library to use; supported options are libstdc++ and
|
||||
libc++.
|
||||
.IP "\fB\-ansi\fR" 4
|
||||
.IX Item "-ansi"
|
||||
Same as \fB\-std=c89\fR.
|
||||
.IP "\fB\-ObjC++\fR" 4
|
||||
.IX Item "-ObjC++"
|
||||
Treat source input files as Objective\-\*(C+ inputs.
|
||||
.IP "\fB\-ObjC\fR" 4
|
||||
.IX Item "-ObjC"
|
||||
Treat source input files as Objective-C inputs.
|
||||
.IP "\fB\-trigraphs\fR" 4
|
||||
.IX Item "-trigraphs"
|
||||
Enable trigraphs.
|
||||
.IP "\fB\-ffreestanding\fR" 4
|
||||
.IX Item "-ffreestanding"
|
||||
Indicate that the file should be compiled for a freestanding, not a hosted,
|
||||
environment.
|
||||
.IP "\fB\-fno\-builtin\fR" 4
|
||||
.IX Item "-fno-builtin"
|
||||
Disable special handling and optimizations of builtin functions like strlen and
|
||||
malloc.
|
||||
.IP "\fB\-fmath\-errno\fR" 4
|
||||
.IX Item "-fmath-errno"
|
||||
Indicate that math functions should be treated as updating errno.
|
||||
.IP "\fB\-fpascal\-strings\fR" 4
|
||||
.IX Item "-fpascal-strings"
|
||||
Enable support for Pascal-style strings with \*(L"\epfoo\*(R".
|
||||
.IP "\fB\-fms\-extensions\fR" 4
|
||||
.IX Item "-fms-extensions"
|
||||
Enable support for Microsoft extensions.
|
||||
.IP "\fB\-fborland\-extensions\fR" 4
|
||||
.IX Item "-fborland-extensions"
|
||||
Enable support for Borland extensions.
|
||||
.IP "\fB\-fwritable\-strings\fR" 4
|
||||
.IX Item "-fwritable-strings"
|
||||
Make all string literals default to writable. This disables uniquing of
|
||||
strings and other optimizations.
|
||||
.IP "\fB\-flax\-vector\-conversions\fR" 4
|
||||
.IX Item "-flax-vector-conversions"
|
||||
Allow loose type checking rules for implicit vector conversions.
|
||||
.IP "\fB\-fblocks\fR" 4
|
||||
.IX Item "-fblocks"
|
||||
Enable the \*(L"Blocks\*(R" language feature.
|
||||
.IP "\fB\-fobjc\-gc\-only\fR" 4
|
||||
.IX Item "-fobjc-gc-only"
|
||||
Indicate that Objective-C code should be compiled in GC-only mode, which only
|
||||
works when Objective-C Garbage Collection is enabled.
|
||||
.IP "\fB\-fobjc\-gc\fR" 4
|
||||
.IX Item "-fobjc-gc"
|
||||
Indicate that Objective-C code should be compiled in hybrid-GC mode, which works
|
||||
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).
|
||||
.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
|
||||
be used as the Objective-C \s-1ABI\s0 when the non-fragile \s-1ABI\s0 is enabled (either via
|
||||
\&\-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.
|
||||
.SS "Target Selection Options"
|
||||
.IX Subsection "Target Selection Options"
|
||||
Clang fully supports cross compilation as an inherent part of its design.
|
||||
Depending on how your version of Clang is configured, it may have support for
|
||||
a number of cross compilers, or may only support a native target.
|
||||
.IP "\fB\-arch\fR \fIarchitecture\fR" 4
|
||||
.IX Item "-arch architecture"
|
||||
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
|
||||
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
|
||||
application.
|
||||
.IP "\fB\-march\fR=\fIcpu\fR" 4
|
||||
.IX Item "-march=cpu"
|
||||
Specify that Clang should generate code for a specific processor family member
|
||||
and later. For example, if you specify \-march=i486, the compiler is allowed to
|
||||
generate instructions that are valid on i486 and later processors, but which
|
||||
may not exist on earlier ones.
|
||||
.SS "Code Generation Options"
|
||||
.IX Subsection "Code Generation Options"
|
||||
.IP "\fB\-O0\fR \fB\-O1\fR \fB\-O2\fR \fB\-Os\fR \fB\-O3\fR \fB\-O4\fR" 4
|
||||
.IX Item "-O0 -O1 -O2 -Os -O3 -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\-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). 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\-g\fR" 4
|
||||
.IX Item "-g"
|
||||
Generate debug information. Note that Clang debug information works best at
|
||||
\&\fB\-O0\fR. At higher optimization levels, only line number information is
|
||||
currently available.
|
||||
.IP "\fB\-fexceptions\fR" 4
|
||||
.IX Item "-fexceptions"
|
||||
Enable generation of unwind information, this allows exceptions to be thrown
|
||||
through Clang compiled stack frames. This is on by default in x86\-64.
|
||||
.IP "\fB\-ftrapv\fR" 4
|
||||
.IX Item "-ftrapv"
|
||||
Generate code to catch integer overflow errors. Signed integer overflow is
|
||||
undefined in C, with this flag, extra code is generated to detect this and abort
|
||||
when it happens.
|
||||
.IP "\fB\-fvisibility\fR" 4
|
||||
.IX Item "-fvisibility"
|
||||
This flag sets the default visibility level.
|
||||
.IP "\fB\-fcommon\fR" 4
|
||||
.IX Item "-fcommon"
|
||||
This flag specifies that variables without initializers get common linkage. It
|
||||
can be disabled with \fB\-fno\-common\fR.
|
||||
.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
|
||||
used with \fB\-S\fR this generates \s-1LLVM\s0 intermediate language assembly files,
|
||||
otherwise this generates \s-1LLVM\s0 bitcode format object files (which may be passed
|
||||
to the linker depending on the stage selection options).
|
||||
.SS "Driver Options"
|
||||
.IX Subsection "Driver Options"
|
||||
.IP "\fB\-###\fR" 4
|
||||
.IX Item "-###"
|
||||
Print the commands to run for this compilation.
|
||||
.IP "\fB\-\-help\fR" 4
|
||||
.IX Item "--help"
|
||||
Display available options.
|
||||
.IP "\fB\-Qunused\-arguments\fR" 4
|
||||
.IX Item "-Qunused-arguments"
|
||||
Don't emit warning for unused driver arguments.
|
||||
.IP "\fB\-Wa,\fR\fIargs\fR" 4
|
||||
.IX Item "-Wa,args"
|
||||
Pass the comma separated arguments in \fIargs\fR to the assembler.
|
||||
.IP "\fB\-Wl,\fR\fIargs\fR" 4
|
||||
.IX Item "-Wl,args"
|
||||
Pass the comma separated arguments in \fIargs\fR to the linker.
|
||||
.IP "\fB\-Wp,\fR\fIargs\fR" 4
|
||||
.IX Item "-Wp,args"
|
||||
Pass the comma separated arguments in \fIargs\fR to the preprocessor.
|
||||
.IP "\fB\-Xanalyzer\fR \fIarg\fR" 4
|
||||
.IX Item "-Xanalyzer arg"
|
||||
Pass \fIarg\fR to the static analyzer.
|
||||
.IP "\fB\-Xassembler\fR \fIarg\fR" 4
|
||||
.IX Item "-Xassembler arg"
|
||||
Pass \fIarg\fR to the assembler.
|
||||
.IP "\fB\-Xclang\fR \fIarg\fR" 4
|
||||
.IX Item "-Xclang arg"
|
||||
Pass \fIarg\fR to the clang compiler frontend.
|
||||
.IP "\fB\-Xlinker\fR \fIarg\fR" 4
|
||||
.IX Item "-Xlinker arg"
|
||||
Pass \fIarg\fR to the linker.
|
||||
.IP "\fB\-mllvm\fR \fIarg\fR" 4
|
||||
.IX Item "-mllvm arg"
|
||||
Pass \fIarg\fR to the \s-1LLVM\s0 backend.
|
||||
.IP "\fB\-Xpreprocessor\fR \fIarg\fR" 4
|
||||
.IX Item "-Xpreprocessor arg"
|
||||
Pass \fIarg\fR to the preprocessor.
|
||||
.IP "\fB\-o\fR \fIfile\fR" 4
|
||||
.IX Item "-o file"
|
||||
Write output to \fIfile\fR.
|
||||
.IP "\fB\-print\-file\-name\fR=\fIfile\fR" 4
|
||||
.IX Item "-print-file-name=file"
|
||||
Print the full library path of \fIfile\fR.
|
||||
.IP "\fB\-print\-libgcc\-file\-name\fR" 4
|
||||
.IX Item "-print-libgcc-file-name"
|
||||
Print the library path for \*(L"libgcc.a\*(R".
|
||||
.IP "\fB\-print\-prog\-name\fR=\fIname\fR" 4
|
||||
.IX Item "-print-prog-name=name"
|
||||
Print the full program path of \fIname\fR.
|
||||
.IP "\fB\-print\-search\-dirs\fR" 4
|
||||
.IX Item "-print-search-dirs"
|
||||
Print the paths used for finding libraries and programs.
|
||||
.IP "\fB\-save\-temps\fR" 4
|
||||
.IX Item "-save-temps"
|
||||
Save intermediate compilation results.
|
||||
.IP "\fB\-integrated\-as\fR \fB\-no\-integrated\-as\fR" 4
|
||||
.IX Item "-integrated-as -no-integrated-as"
|
||||
Used to enable and disable, respectively, the use of the integrated
|
||||
assembler. Whether the integrated assembler is on by default is target
|
||||
dependent.
|
||||
.IP "\fB\-time\fR" 4
|
||||
.IX Item "-time"
|
||||
Time individual commands.
|
||||
.IP "\fB\-ftime\-report\fR" 4
|
||||
.IX Item "-ftime-report"
|
||||
Print timing summary of each stage of compilation.
|
||||
.IP "\fB\-v\fR" 4
|
||||
.IX Item "-v"
|
||||
Show commands to run and use verbose output.
|
||||
.SS "Diagnostics Options"
|
||||
.IX Subsection "Diagnostics Options"
|
||||
.IP "\fB\-fshow\-column\fR \fB\-fshow\-source\-location\fR \fB\-fcaret\-diagnostics\fR \fB\-fdiagnostics\-fixit\-info\fR \fB\-fdiagnostics\-parseable\-fixits\fR \fB\-fdiagnostics\-print\-source\-range\-info\fR \fB\-fprint\-source\-range\-info\fR \fB\-fdiagnostics\-show\-option\fR \fB\-fmessage\-length\fR" 4
|
||||
.IX Item "-fshow-column -fshow-source-location -fcaret-diagnostics -fdiagnostics-fixit-info -fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info -fprint-source-range-info -fdiagnostics-show-option -fmessage-length"
|
||||
These options control how Clang prints out information about diagnostics (errors
|
||||
and warnings). Please see the Clang User's Manual for more information.
|
||||
.SS "Preprocessor Options"
|
||||
.IX Subsection "Preprocessor Options"
|
||||
.IP "\fB\-D\fR\fImacroname=value\fR" 4
|
||||
.IX Item "-Dmacroname=value"
|
||||
Adds an implicit #define into the predefines buffer which is read before the
|
||||
source file is preprocessed.
|
||||
.IP "\fB\-U\fR\fImacroname\fR" 4
|
||||
.IX Item "-Umacroname"
|
||||
Adds an implicit #undef into the predefines buffer which is read before the
|
||||
source file is preprocessed.
|
||||
.IP "\fB\-include\fR \fIfilename\fR" 4
|
||||
.IX Item "-include filename"
|
||||
Adds an implicit #include into the predefines buffer which is read before the
|
||||
source file is preprocessed.
|
||||
.IP "\fB\-I\fR\fIdirectory\fR" 4
|
||||
.IX Item "-Idirectory"
|
||||
Add the specified directory to the search path for include files.
|
||||
.IP "\fB\-F\fR\fIdirectory\fR" 4
|
||||
.IX Item "-Fdirectory"
|
||||
Add the specified directory to the search path for framework include files.
|
||||
.IP "\fB\-nostdinc\fR" 4
|
||||
.IX Item "-nostdinc"
|
||||
Do not search the standard system directories for include files.
|
||||
.IP "\fB\-nobuiltininc\fR" 4
|
||||
.IX Item "-nobuiltininc"
|
||||
Do not search clang's builtin directory for include files.
|
||||
.SH "ENVIRONMENT"
|
||||
.IX Header "ENVIRONMENT"
|
||||
.IP "\fB\s-1TMPDIR\s0\fR, \fB\s-1TEMP\s0\fR, \fB\s-1TMP\s0\fR" 4
|
||||
.IX Item "TMPDIR, TEMP, TMP"
|
||||
These environment variables are checked, in order, for the location to
|
||||
write temporary files used during the compilation process.
|
||||
.IP "\fB\s-1CPATH\s0\fR" 4
|
||||
.IX Item "CPATH"
|
||||
If this environment variable is present, it is treated as a delimited
|
||||
list of paths to be added to the default system include path list. The
|
||||
delimiter is the platform dependent delimitor, as used in the \fI\s-1PATH\s0\fR
|
||||
environment variable.
|
||||
.Sp
|
||||
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,
|
||||
which are only used when processing the appropriate language.
|
||||
.IP "\fB\s-1MACOSX_DEPLOYMENT_TARGET\s0\fR" 4
|
||||
.IX Item "MACOSX_DEPLOYMENT_TARGET"
|
||||
If \-mmacosx\-version\-min is unspecified, the default deployment target
|
||||
is read from this environment variable. This option only affects darwin
|
||||
targets.
|
||||
.SH "BUGS"
|
||||
.IX Header "BUGS"
|
||||
To report bugs, please visit <http://llvm.org/bugs/>. Most bug reports should
|
||||
include preprocessed source files (use the \fB\-E\fR option) and the full output of
|
||||
the compiler, along with information to reproduce.
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
.Vb 1
|
||||
\& as(1), ld(1)
|
||||
.Ve
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
Maintained by the Clang / \s-1LLVM\s0 Team (<http://clang.llvm.org>).
|
@ -39,7 +39,6 @@ SRCS= ARMDecoderEmitter.cpp \
|
||||
TableGenBackend.cpp \
|
||||
X86DisassemblerTables.cpp \
|
||||
X86RecognizableInstr.cpp
|
||||
MAN=
|
||||
LLVM_REQUIRES_EH=
|
||||
|
||||
LIBDEPS=llvmsupport llvmsystem
|
||||
|
215
usr.bin/clang/tblgen/tblgen.1
Normal file
215
usr.bin/clang/tblgen/tblgen.1
Normal file
@ -0,0 +1,215 @@
|
||||
.\" $FreeBSD$
|
||||
.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
|
||||
.\"
|
||||
.\" 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 "TBLGEN 1"
|
||||
.TH TBLGEN 1 "2010-06-19" "LLVM 2.8" "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
|
||||
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
|
||||
to read as input.
|
||||
.SH "OPTIONS"
|
||||
.IX Header "OPTIONS"
|
||||
.IP "\fB\-help\fR" 4
|
||||
.IX Item "-help"
|
||||
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
|
||||
sends its output to standard output.
|
||||
.IP "\fB\-I\fR \fIdirectory\fR" 4
|
||||
.IX Item "-I directory"
|
||||
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
|
||||
target description files.
|
||||
.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"
|
||||
Print the enumeration list for this class.
|
||||
.IP "\fB\-print\-records\fR" 4
|
||||
.IX Item "-print-records"
|
||||
Print all records to standard output (default).
|
||||
.IP "\fB\-print\-enums\fR" 4
|
||||
.IX Item "-print-enums"
|
||||
Print enumeration values for a class
|
||||
.IP "\fB\-gen\-emitter\fR" 4
|
||||
.IX Item "-gen-emitter"
|
||||
Generate machine code emitter.
|
||||
.IP "\fB\-gen\-register\-enums\fR" 4
|
||||
.IX Item "-gen-register-enums"
|
||||
Generate the enumeration values for all registers.
|
||||
.IP "\fB\-gen\-register\-desc\fR" 4
|
||||
.IX Item "-gen-register-desc"
|
||||
Generate a register info description for each register.
|
||||
.IP "\fB\-gen\-register\-desc\-header\fR" 4
|
||||
.IX Item "-gen-register-desc-header"
|
||||
Generate a register info description header for each register.
|
||||
.IP "\fB\-gen\-instr\-enums\fR" 4
|
||||
.IX Item "-gen-instr-enums"
|
||||
Generate enumeration values for instructions.
|
||||
.IP "\fB\-gen\-instr\-desc\fR" 4
|
||||
.IX Item "-gen-instr-desc"
|
||||
Generate instruction descriptions.
|
||||
.IP "\fB\-gen\-asm\-writer\fR" 4
|
||||
.IX Item "-gen-asm-writer"
|
||||
Generate the assembly writer.
|
||||
.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\-subtarget\fR" 4
|
||||
.IX Item "-gen-subtarget"
|
||||
Generate subtarget enumerations.
|
||||
.IP "\fB\-gen\-intrinsic\fR" 4
|
||||
.IX Item "-gen-intrinsic"
|
||||
Generate intrinsic information.
|
||||
.IP "\fB\-version\fR" 4
|
||||
.IX Item "-version"
|
||||
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>).
|
Loading…
Reference in New Issue
Block a user