2004-05-14 19:50:33 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
lli - directly execute programs from LLVM bytecode
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
2004-07-02 16:06:19 +00:00
|
|
|
B<lli> [I<options>] [I<filename>] [I<program args>]
|
2004-05-14 19:50:33 +00:00
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
2004-07-02 16:06:19 +00:00
|
|
|
B<lli> directly executes programs in LLVM bytecode format. It takes a program
|
|
|
|
in LLVM bytecode format and executes it using a just-in-time compiler, if one is
|
|
|
|
available for the current architecture, or an interpreter. B<lli> takes all of
|
|
|
|
the same code generator options as L<llc|llc>, but they are only effective when
|
|
|
|
B<lli> is using the just-in-time compiler.
|
2004-05-14 19:50:33 +00:00
|
|
|
|
|
|
|
If I<filename> is not specified, then B<lli> reads the LLVM bytecode for the
|
|
|
|
program from standard input.
|
|
|
|
|
|
|
|
The optional I<args> specified on the command line are passed to the program as
|
|
|
|
arguments.
|
|
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
|
|
|
|
=over
|
|
|
|
|
|
|
|
=item B<-help>
|
|
|
|
|
|
|
|
Print a summary of command line options.
|
|
|
|
|
|
|
|
=item B<-stats>
|
|
|
|
|
|
|
|
Print statistics from the code-generation passes. This is only meaningful for
|
|
|
|
the just-in-time compiler, at present.
|
|
|
|
|
|
|
|
=item B<-time-passes>
|
|
|
|
|
|
|
|
Record the amount of time needed for each code-generation pass and print it to
|
|
|
|
standard error.
|
|
|
|
|
2005-12-16 05:19:35 +00:00
|
|
|
=item B<-mtriple>=I<target triple>
|
2005-12-16 05:18:53 +00:00
|
|
|
|
|
|
|
Override the target triple specified in the input bytecode file with the
|
|
|
|
specified string. This may result in a crash if you pick an
|
|
|
|
architecture which is not compatible with the current system.
|
|
|
|
|
2004-05-14 19:50:33 +00:00
|
|
|
=item B<-march>=I<arch>
|
|
|
|
|
2005-12-16 05:18:53 +00:00
|
|
|
Specify the architecture for which to generate assembly, overriding the target
|
|
|
|
encoded in the bytecode file. See the output of B<llc --help> for a list of
|
|
|
|
valid architectures. By default this is inferred from the target triple or
|
|
|
|
autodetected to the current architecture.
|
|
|
|
|
|
|
|
=item B<-mcpu>=I<cpuname>
|
|
|
|
|
|
|
|
Specify a specific chip in the current architecture to generate code for.
|
|
|
|
By default this is inferred from the target triple and autodetected to
|
|
|
|
the current architecture. For a list of available CPUs, use:
|
|
|
|
B<llvm-as E<lt> /dev/null | llc -march=xyz -mcpu=help>
|
|
|
|
|
|
|
|
=item B<-mattr>=I<a1,+a2,-a3,...>
|
|
|
|
|
|
|
|
Override or control specific attributes of the target, such as whether SIMD
|
|
|
|
operations are enabled or not. The default set of attributes is set by the
|
|
|
|
current CPU. For a list of available attributes, use:
|
|
|
|
B<llvm-as E<lt> /dev/null | llc -march=xyz -mattr=help>
|
2004-05-14 19:50:33 +00:00
|
|
|
|
|
|
|
=item B<-force-interpreter>=I<{false,true}>
|
|
|
|
|
|
|
|
If set to true, use the interpreter even if a just-in-time compiler is available
|
|
|
|
for this architecture. Defaults to false.
|
|
|
|
|
|
|
|
=item B<-f>=I<name>
|
|
|
|
|
|
|
|
Call the function named I<name> to start the program. Note: The
|
|
|
|
function is assumed to have the C signature C<int> I<name> C<(int,
|
|
|
|
char **, char **)>. If you try to use this option to call a function of
|
|
|
|
incompatible type, undefined behavior may result. Defaults to C<main>.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=head1 EXIT STATUS
|
|
|
|
|
|
|
|
If B<lli> fails to load the program, it will exit with an exit code of 1.
|
|
|
|
Otherwise, it will return the exit code of the program it executes.
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2004-07-02 16:06:19 +00:00
|
|
|
L<llc|llc>
|
2004-05-14 19:50:33 +00:00
|
|
|
|
|
|
|
=head1 AUTHOR
|
|
|
|
|
|
|
|
Maintained by the LLVM Team (L<http://llvm.cs.uiuc.edu>).
|
|
|
|
|
|
|
|
=cut
|