# LLVM: lli tool

### NAME

lli

### SYNOPSIS

lli [options] [filename] [args ...]

### DESCRIPTION

The lli command is the LLVM interpreter. It takes a program in LLVM bytecode format and executes it using an interpreter or a Just In Time (JIT) compiler.

If filename is not specified, then lli reads its input from standard input.

The optional arguments specified on the command line are passed to the executed program as arguments.

### MAIN FUNCTION

The main() function of the bytecode program is where execution starts. It is passed three arguments:

- int argc - The number of command line arguments.

- char ** argv - The arguments to the program.

- char ** envp - An array of environment variables used by the program.

The first argument to the program is the name of the executed bytecode file (with the .bc suffix removed).

### OPTIONS

- -array-checks
  Enable array bound checks.

- -help
  Print a summary of command line options.

- -disable-fp-elim
  Disable frame pointer elimination optimization.

- -stats
  Print statistics.

- -time-passes
  Record the amount of time needed for each pass and print it to standard error.

### EXIT STATUS

If lli succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.

### SEE ALSO

llvm-dis

LLVM Team