blob: aea7105c09fd19400653f283e0d5731b90e0d38a [file] [log] [blame]
Brian Gaekee993d202004-05-14 19:50:33 +00001=pod
2
3=head1 NAME
4
Gabor Greif3bd6e0d2007-07-09 11:24:05 +00005lli - directly execute programs from LLVM bitcode
Brian Gaekee993d202004-05-14 19:50:33 +00006
7=head1 SYNOPSIS
8
Misha Brukmanc08937a2004-07-02 16:06:19 +00009B<lli> [I<options>] [I<filename>] [I<program args>]
Brian Gaekee993d202004-05-14 19:50:33 +000010
11=head1 DESCRIPTION
12
Gabor Greif3bd6e0d2007-07-09 11:24:05 +000013B<lli> directly executes programs in LLVM bitcode format. It takes a program
14in LLVM bitcode format and executes it using a just-in-time compiler, if one is
Misha Brukmanc08937a2004-07-02 16:06:19 +000015available for the current architecture, or an interpreter. B<lli> takes all of
16the same code generator options as L<llc|llc>, but they are only effective when
17B<lli> is using the just-in-time compiler.
Brian Gaekee993d202004-05-14 19:50:33 +000018
Gabor Greif3bd6e0d2007-07-09 11:24:05 +000019If I<filename> is not specified, then B<lli> reads the LLVM bitcode for the
Brian Gaekee993d202004-05-14 19:50:33 +000020program from standard input.
21
22The optional I<args> specified on the command line are passed to the program as
23arguments.
24
25=head1 OPTIONS
26
27=over
28
29=item B<-help>
30
31Print a summary of command line options.
32
33=item B<-stats>
34
35Print statistics from the code-generation passes. This is only meaningful for
36the just-in-time compiler, at present.
37
38=item B<-time-passes>
39
40Record the amount of time needed for each code-generation pass and print it to
41standard error.
42
Chris Lattnerf4955362005-12-16 05:19:35 +000043=item B<-mtriple>=I<target triple>
Chris Lattner4f501bf2005-12-16 05:18:53 +000044
Gabor Greif3bd6e0d2007-07-09 11:24:05 +000045Override the target triple specified in the input bitcode file with the
Chris Lattner4f501bf2005-12-16 05:18:53 +000046specified string. This may result in a crash if you pick an
47architecture which is not compatible with the current system.
48
Brian Gaekee993d202004-05-14 19:50:33 +000049=item B<-march>=I<arch>
50
Chris Lattner4f501bf2005-12-16 05:18:53 +000051Specify the architecture for which to generate assembly, overriding the target
Gabor Greif3bd6e0d2007-07-09 11:24:05 +000052encoded in the bitcode file. See the output of B<llc --help> for a list of
Chris Lattner4f501bf2005-12-16 05:18:53 +000053valid architectures. By default this is inferred from the target triple or
54autodetected to the current architecture.
55
56=item B<-mcpu>=I<cpuname>
57
58Specify a specific chip in the current architecture to generate code for.
59By default this is inferred from the target triple and autodetected to
60the current architecture. For a list of available CPUs, use:
61B<llvm-as E<lt> /dev/null | llc -march=xyz -mcpu=help>
62
63=item B<-mattr>=I<a1,+a2,-a3,...>
64
65Override or control specific attributes of the target, such as whether SIMD
66operations are enabled or not. The default set of attributes is set by the
67current CPU. For a list of available attributes, use:
68B<llvm-as E<lt> /dev/null | llc -march=xyz -mattr=help>
Brian Gaekee993d202004-05-14 19:50:33 +000069
Reid Spencer2c8a7482007-08-07 16:11:57 +000070=item B<-fake-argv0>=I<executable>
71
72Override the C<argv[0]> value passed into the executing program.
73
Brian Gaekee993d202004-05-14 19:50:33 +000074=item B<-force-interpreter>=I<{false,true}>
75
76If set to true, use the interpreter even if a just-in-time compiler is available
77for this architecture. Defaults to false.
78
Reid Spencer2c8a7482007-08-07 16:11:57 +000079=item B<-load>=I<puginfilename>
Brian Gaekee993d202004-05-14 19:50:33 +000080
Reid Spencer2c8a7482007-08-07 16:11:57 +000081Causes B<lli> to load the plugin (shared object) named I<pluginfilename> and use
82it for optimization.
83
84=item B<-soft-float>
85
86Causes B<lli> to generate software floating point library calls instead of
87equivalent hardware instructions.
Brian Gaekee993d202004-05-14 19:50:33 +000088
Reid Spencer7223f022007-08-07 16:21:52 +000089=item B<-enable-unsafe-fp-math>
90
91Causes B<lli> to enable optimizations that may decrease floating point
92precision.
93
Brian Gaekee993d202004-05-14 19:50:33 +000094=back
95
96=head1 EXIT STATUS
97
98If B<lli> fails to load the program, it will exit with an exit code of 1.
99Otherwise, it will return the exit code of the program it executes.
100
101=head1 SEE ALSO
102
Misha Brukmanc08937a2004-07-02 16:06:19 +0000103L<llc|llc>
Brian Gaekee993d202004-05-14 19:50:33 +0000104
105=head1 AUTHOR
106
Reid Spencercd143fc2006-03-14 05:42:07 +0000107Maintained by the LLVM Team (L<http://llvm.org>).
Brian Gaekee993d202004-05-14 19:50:33 +0000108
109=cut