blob: 70a42d645f684493d5cb91960629600fd59cc4c4 [file] [log] [blame]
John Criswellecf32e52003-09-11 19:58:03 +00001<html>
2<title>
Chris Lattneree43b692003-09-25 19:50:05 +00003LLVM: lli tool
John Criswellecf32e52003-09-11 19:58:03 +00004</title>
5
Chris Lattner08a04fd2003-10-07 20:12:05 +00006<body bgcolor=white>
John Criswellecf32e52003-09-11 19:58:03 +00007
8<center>
Chris Lattner090fcc12003-10-07 19:46:37 +00009<h1>LLVM: <tt>lli</tt> tool</h1>
John Criswellecf32e52003-09-11 19:58:03 +000010</center>
11<HR>
12
13<h3>
14NAME
15</h3>
16
Chris Lattner090fcc12003-10-07 19:46:37 +000017<tt>lli</tt>
John Criswellecf32e52003-09-11 19:58:03 +000018
19<h3>
20SYNOPSIS
21</h3>
22
Chris Lattner090fcc12003-10-07 19:46:37 +000023<tt>lli [options] [filename] [args ...]</tt>
John Criswellecf32e52003-09-11 19:58:03 +000024<h3>
25DESCRIPTION
26</h3>
27
Brian Gaeke51b2ab82003-10-19 18:03:11 +000028<tt>lli</tt> directly executes programs in LLVM format.
29It takes a program in LLVM
30bytecode format and executes it using a just-in-time
31compiler, if one is available for the current architecture, or an interpreter.
32<tt>lli</tt> takes all of the same code generator options as the
33<tt><a href="llc.html">llc</a></tt> tool, but they are only applicable when
34the just-in-time compiler is being used.
John Criswell511a4912003-09-29 20:10:08 +000035<p>
36
Brian Gaeke51b2ab82003-10-19 18:03:11 +000037If filename is not specified, then <tt>lli</tt> reads the LLVM bytecode for
38the program from standard input.
John Criswell511a4912003-09-29 20:10:08 +000039<p>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000040The optional "args" specified on the command line are passed to the
John Criswell511a4912003-09-29 20:10:08 +000041program as arguments.
42<p>
43
John Criswellecf32e52003-09-11 19:58:03 +000044
45<h3>
46OPTIONS
47</h3>
48
49<ul>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000050 <li> <tt>-array-checks</tt>
John Criswellecf32e52003-09-11 19:58:03 +000051 <br>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000052 Enable array bound checks. If an LLVM program attempts to access an
53 element of an array which is not within the size of that array,
54 <tt>lli</tt> will print an error message and call <tt>abort(3)</tt>.
55 This is presently only applicable to the interpreter.
John Criswellecf32e52003-09-11 19:58:03 +000056 <p>
57
Brian Gaeke51b2ab82003-10-19 18:03:11 +000058 <li> <tt>-help</tt>
John Criswellecf32e52003-09-11 19:58:03 +000059 <br>
60 Print a summary of command line options.
61 <p>
62
Brian Gaeke51b2ab82003-10-19 18:03:11 +000063 <li> <tt>-stats</tt>
John Criswellecf32e52003-09-11 19:58:03 +000064 <br>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000065 Print statistics from the code-generation passes. This is only meaningful
66 for the just-in-time compiler, at present.
John Criswellecf32e52003-09-11 19:58:03 +000067 <p>
68
Brian Gaeke51b2ab82003-10-19 18:03:11 +000069 <li> <tt>-time-passes</tt>
John Criswellecf32e52003-09-11 19:58:03 +000070 <br>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000071 Record the amount of time needed for each code-generation pass and print
72 it to standard error.
John Criswellecf32e52003-09-11 19:58:03 +000073 <p>
Brian Gaeke51b2ab82003-10-19 18:03:11 +000074
75 <li> <tt>-march=&lt;arch&gt;</tt>
76 <br>
77 Use the specified non-default architecture when selecting a code generator
78 for the just-in-time compiler. This may result in a crash if you pick an
79 architecture which is not compatible with the hardware you are running
80 <tt>lli</tt> on.
81 <p>
82
83 <li> <tt>-quiet, -q</tt>
84 <br>
85 Do not print any output about the return values of functions.
86 This is presently only applicable to the interpreter.
87 <p>
88
89 <li> <tt>-force-interpreter={false,true}</tt>
90 <br>
91 If set to true, use the interpreter even if a just-in-time compiler is
92 available for this architecture. Defaults to false.
93 <p>
94
95 <li> <tt>-trace</tt>
96 <br>
97 Print an LLVM-instruction-level dynamic execution trace. This is
98 presently only applicable to the interpreter.
99 <p>
100
101 <li> <tt>-f=&lt;name&gt;</tt>
102 <br>
103 Call the function named <tt>&lt;name&gt;</tt> to start the program.
104 Note: The function is assumed to have the C signature <tt>int
105 <tt>&lt;name&gt;</tt> (int, char **, char **)</tt>.
106 If you try to use this option to call a function of incompatible type,
107 undefined behavior may result. Defaults to "main".
108 <p>
109
John Criswellecf32e52003-09-11 19:58:03 +0000110</ul>
111
112<h3>
113EXIT STATUS
114</h3>
115
Brian Gaeke51b2ab82003-10-19 18:03:11 +0000116If <tt>lli</tt> fails to load the program, it will exit with an exit code of 1.
117Otherwise, it will return the exit code of the program it executes.
John Criswellecf32e52003-09-11 19:58:03 +0000118
119<h3>
120SEE ALSO
121</h3>
Chris Lattner090fcc12003-10-07 19:46:37 +0000122<a href="llc.html"><tt>llc</tt></a>
John Criswellecf32e52003-09-11 19:58:03 +0000123
124<HR>
Chris Lattner08a04fd2003-10-07 20:12:05 +0000125Maintained by the <a href="http://llvm.cs.uiuc.edu">LLVM Team</a>.
John Criswellecf32e52003-09-11 19:58:03 +0000126</body>
127</html>