]> CyberLeo.Net >> Repos - FreeBSD/releng/9.1.git/blob - usr.bin/clang/lli/lli.1
MFC r239655:
[FreeBSD/releng/9.1.git] / usr.bin / clang / lli / lli.1
1 .\" $FreeBSD$
2 .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
3 .\"
4 .\" Standard preamble:
5 .\" ========================================================================
6 .de Sp \" Vertical space (when we can't use .PP)
7 .if t .sp .5v
8 .if n .sp
9 ..
10 .de Vb \" Begin verbatim text
11 .ft CW
12 .nf
13 .ne \\$1
14 ..
15 .de Ve \" End verbatim text
16 .ft R
17 .fi
18 ..
19 .\" Set up some character translations and predefined strings.  \*(-- will
20 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
21 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
22 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
23 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
24 .\" nothing in troff, for use with C<>.
25 .tr \(*W-
26 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
27 .ie n \{\
28 .    ds -- \(*W-
29 .    ds PI pi
30 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
31 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
32 .    ds L" ""
33 .    ds R" ""
34 .    ds C` ""
35 .    ds C' ""
36 'br\}
37 .el\{\
38 .    ds -- \|\(em\|
39 .    ds PI \(*p
40 .    ds L" ``
41 .    ds R" ''
42 'br\}
43 .\"
44 .\" Escape single quotes in literal strings from groff's Unicode transform.
45 .ie \n(.g .ds Aq \(aq
46 .el       .ds Aq '
47 .\"
48 .\" If the F register is turned on, we'll generate index entries on stderr for
49 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
50 .\" entries marked with X<> in POD.  Of course, you'll have to process the
51 .\" output yourself in some meaningful fashion.
52 .ie \nF \{\
53 .    de IX
54 .    tm Index:\\$1\t\\n%\t"\\$2"
55 ..
56 .    nr % 0
57 .    rr F
58 .\}
59 .el \{\
60 .    de IX
61 ..
62 .\}
63 .\"
64 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
65 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
66 .    \" fudge factors for nroff and troff
67 .if n \{\
68 .    ds #H 0
69 .    ds #V .8m
70 .    ds #F .3m
71 .    ds #[ \f1
72 .    ds #] \fP
73 .\}
74 .if t \{\
75 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
76 .    ds #V .6m
77 .    ds #F 0
78 .    ds #[ \&
79 .    ds #] \&
80 .\}
81 .    \" simple accents for nroff and troff
82 .if n \{\
83 .    ds ' \&
84 .    ds ` \&
85 .    ds ^ \&
86 .    ds , \&
87 .    ds ~ ~
88 .    ds /
89 .\}
90 .if t \{\
91 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
92 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
93 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
94 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
95 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
96 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
97 .\}
98 .    \" troff and (daisy-wheel) nroff accents
99 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
100 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
101 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
102 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
103 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
104 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
105 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
106 .ds ae a\h'-(\w'a'u*4/10)'e
107 .ds Ae A\h'-(\w'A'u*4/10)'E
108 .    \" corrections for vroff
109 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
110 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
111 .    \" for low resolution devices (crt and lpr)
112 .if \n(.H>23 .if \n(.V>19 \
113 \{\
114 .    ds : e
115 .    ds 8 ss
116 .    ds o a
117 .    ds d- d\h'-1'\(ga
118 .    ds D- D\h'-1'\(hy
119 .    ds th \o'bp'
120 .    ds Th \o'LP'
121 .    ds ae ae
122 .    ds Ae AE
123 .\}
124 .rm #[ #] #H #V #F C
125 .\" ========================================================================
126 .\"
127 .IX Title "LLI 1"
128 .TH LLI 1 "2012-04-05" "LLVM 3.1" "LLVM Command Guide"
129 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
130 .\" way too many mistakes in technical documents.
131 .if n .ad l
132 .nh
133 .SH "NAME"
134 lli \- directly execute programs from LLVM bitcode
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 \&\fBlli\fR [\fIoptions\fR] [\fIfilename\fR] [\fIprogram args\fR]
138 .SH "DESCRIPTION"
139 .IX Header "DESCRIPTION"
140 \&\fBlli\fR directly executes programs in \s-1LLVM\s0 bitcode format.  It takes a program
141 in \s-1LLVM\s0 bitcode format and executes it using a just-in-time compiler, if one is
142 available for the current architecture, or an interpreter.  \fBlli\fR takes all of
143 the same code generator options as llc, but they are only effective when
144 \&\fBlli\fR is using the just-in-time compiler.
145 .PP
146 If \fIfilename\fR is not specified, then \fBlli\fR reads the \s-1LLVM\s0 bitcode for the
147 program from standard input.
148 .PP
149 The optional \fIargs\fR specified on the command line are passed to the program as
150 arguments.
151 .SH "GENERAL OPTIONS"
152 .IX Header "GENERAL OPTIONS"
153 .IP "\fB\-fake\-argv0\fR=\fIexecutable\fR" 4
154 .IX Item "-fake-argv0=executable"
155 Override the \f(CW\*(C`argv[0]\*(C'\fR value passed into the executing program.
156 .IP "\fB\-force\-interpreter\fR=\fI{false,true}\fR" 4
157 .IX Item "-force-interpreter={false,true}"
158 If set to true, use the interpreter even if a just-in-time compiler is available
159 for this architecture. Defaults to false.
160 .IP "\fB\-help\fR" 4
161 .IX Item "-help"
162 Print a summary of command line options.
163 .IP "\fB\-load\fR=\fIpuginfilename\fR" 4
164 .IX Item "-load=puginfilename"
165 Causes \fBlli\fR to load the plugin (shared object) named \fIpluginfilename\fR and use
166 it for optimization.
167 .IP "\fB\-stats\fR" 4
168 .IX Item "-stats"
169 Print statistics from the code-generation passes. This is only meaningful for
170 the just-in-time compiler, at present.
171 .IP "\fB\-time\-passes\fR" 4
172 .IX Item "-time-passes"
173 Record the amount of time needed for each code-generation pass and print it to
174 standard error.
175 .IP "\fB\-version\fR" 4
176 .IX Item "-version"
177 Print out the version of \fBlli\fR and exit without doing anything else.
178 .SH "TARGET OPTIONS"
179 .IX Header "TARGET OPTIONS"
180 .IP "\fB\-mtriple\fR=\fItarget triple\fR" 4
181 .IX Item "-mtriple=target triple"
182 Override the target triple specified in the input bitcode file with the 
183 specified string.  This may result in a crash if you pick an
184 architecture which is not compatible with the current system.
185 .IP "\fB\-march\fR=\fIarch\fR" 4
186 .IX Item "-march=arch"
187 Specify the architecture for which to generate assembly, overriding the target
188 encoded in the bitcode file.  See the output of \fBllc \-help\fR for a list of
189 valid architectures.  By default this is inferred from the target triple or
190 autodetected to the current architecture.
191 .IP "\fB\-mcpu\fR=\fIcpuname\fR" 4
192 .IX Item "-mcpu=cpuname"
193 Specify a specific chip in the current architecture to generate code for.
194 By default this is inferred from the target triple and autodetected to 
195 the current architecture.  For a list of available CPUs, use:
196 \&\fBllvm-as < /dev/null | llc \-march=xyz \-mcpu=help\fR
197 .IP "\fB\-mattr\fR=\fIa1,+a2,\-a3,...\fR" 4
198 .IX Item "-mattr=a1,+a2,-a3,..."
199 Override or control specific attributes of the target, such as whether \s-1SIMD\s0
200 operations are enabled or not.  The default set of attributes is set by the
201 current \s-1CPU\s0.  For a list of available attributes, use:
202 \&\fBllvm-as < /dev/null | llc \-march=xyz \-mattr=help\fR
203 .SH "FLOATING POINT OPTIONS"
204 .IX Header "FLOATING POINT OPTIONS"
205 .IP "\fB\-disable\-excess\-fp\-precision\fR" 4
206 .IX Item "-disable-excess-fp-precision"
207 Disable optimizations that may increase floating point precision.
208 .IP "\fB\-enable\-no\-infs\-fp\-math\fR" 4
209 .IX Item "-enable-no-infs-fp-math"
210 Enable optimizations that assume no Inf values.
211 .IP "\fB\-enable\-no\-nans\-fp\-math\fR" 4
212 .IX Item "-enable-no-nans-fp-math"
213 Enable optimizations that assume no \s-1NAN\s0 values.
214 .IP "\fB\-enable\-unsafe\-fp\-math\fR" 4
215 .IX Item "-enable-unsafe-fp-math"
216 Causes \fBlli\fR to enable optimizations that may decrease floating point
217 precision.
218 .IP "\fB\-soft\-float\fR" 4
219 .IX Item "-soft-float"
220 Causes \fBlli\fR to generate software floating point library calls instead of
221 equivalent hardware instructions.
222 .SH "CODE GENERATION OPTIONS"
223 .IX Header "CODE GENERATION OPTIONS"
224 .IP "\fB\-code\-model\fR=\fImodel\fR" 4
225 .IX Item "-code-model=model"
226 Choose the code model from:
227 .Sp
228 .Vb 5
229 \&    default: Target default code model
230 \&    small: Small code model
231 \&    kernel: Kernel code model
232 \&    medium: Medium code model
233 \&    large: Large code model
234 .Ve
235 .IP "\fB\-disable\-post\-RA\-scheduler\fR" 4
236 .IX Item "-disable-post-RA-scheduler"
237 Disable scheduling after register allocation.
238 .IP "\fB\-disable\-spill\-fusing\fR" 4
239 .IX Item "-disable-spill-fusing"
240 Disable fusing of spill code into instructions.
241 .IP "\fB\-enable\-correct\-eh\-support\fR" 4
242 .IX Item "-enable-correct-eh-support"
243 Make the \-lowerinvoke pass insert expensive, but correct, \s-1EH\s0 code.
244 .IP "\fB\-jit\-enable\-eh\fR" 4
245 .IX Item "-jit-enable-eh"
246 Exception handling should be enabled in the just-in-time compiler.
247 .IP "\fB\-join\-liveintervals\fR" 4
248 .IX Item "-join-liveintervals"
249 Coalesce copies (default=true).
250 .IP "\fB\-nozero\-initialized\-in\-bss\fR Don't place zero-initialized symbols into the \s-1BSS\s0 section." 4
251 .IX Item "-nozero-initialized-in-bss Don't place zero-initialized symbols into the BSS section."
252 .PD 0
253 .IP "\fB\-pre\-RA\-sched\fR=\fIscheduler\fR" 4
254 .IX Item "-pre-RA-sched=scheduler"
255 .PD
256 Instruction schedulers available (before register allocation):
257 .Sp
258 .Vb 7
259 \&    =default: Best scheduler for the target 
260 \&    =none: No scheduling: breadth first sequencing 
261 \&    =simple: Simple two pass scheduling: minimize critical path and maximize processor utilization 
262 \&    =simple\-noitin: Simple two pass scheduling: Same as simple except using generic latency 
263 \&    =list\-burr: Bottom\-up register reduction list scheduling 
264 \&    =list\-tdrr: Top\-down register reduction list scheduling 
265 \&    =list\-td: Top\-down list scheduler \-print\-machineinstrs \- Print generated machine code
266 .Ve
267 .IP "\fB\-regalloc\fR=\fIallocator\fR" 4
268 .IX Item "-regalloc=allocator"
269 Register allocator to use (default=linearscan)
270 .Sp
271 .Vb 3
272 \&    =bigblock: Big\-block register allocator 
273 \&    =linearscan: linear scan register allocator =local \-   local register allocator 
274 \&    =simple: simple register allocator
275 .Ve
276 .IP "\fB\-relocation\-model\fR=\fImodel\fR" 4
277 .IX Item "-relocation-model=model"
278 Choose relocation model from:
279 .Sp
280 .Vb 3
281 \&    =default: Target default relocation model 
282 \&    =static: Non\-relocatable code =pic \-   Fully relocatable, position independent code 
283 \&    =dynamic\-no\-pic: Relocatable external references, non\-relocatable code
284 .Ve
285 .IP "\fB\-spiller\fR" 4
286 .IX Item "-spiller"
287 Spiller to use (default=local)
288 .Sp
289 .Vb 2
290 \&    =simple: simple spiller 
291 \&    =local: local spiller
292 .Ve
293 .IP "\fB\-x86\-asm\-syntax\fR=\fIsyntax\fR" 4
294 .IX Item "-x86-asm-syntax=syntax"
295 Choose style of code to emit from X86 backend:
296 .Sp
297 .Vb 2
298 \&    =att: Emit AT&T\-style assembly 
299 \&    =intel: Emit Intel\-style assembly
300 .Ve
301 .SH "EXIT STATUS"
302 .IX Header "EXIT STATUS"
303 If \fBlli\fR fails to load the program, it will exit with an exit code of 1.
304 Otherwise, it will return the exit code of the program it executes.
305 .SH "SEE ALSO"
306 .IX Header "SEE ALSO"
307 llc
308 .SH "AUTHOR"
309 .IX Header "AUTHOR"
310 Maintained by the \s-1LLVM\s0 Team (<http://llvm.org/>).