# Low Level Virtual Machine

### NAME

llc

### SYNOPSIS

llc [options] < filename>

### DESCRIPTION

The llc command compiles LLVM bytecode into assembly language for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate native code.

### OPTIONS

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

- -disable-local-ra
  Use Simple RA instead of Local RegAlloc

- -disable-pattern-isel
  Use the 'simple' X86 instruction selector

- -disable-peephole
  Disable peephole optimization pass

- -disable-preopt
  Disable optimizations prior to instruction selection

- -disable-sched
  Disable local scheduling pass

- -disable-strip
  Do not strip the LLVM bytecode included in executable

- -enable-maps
  Emit LLVM-to-MachineCode mapping info to assembly

- -f
  Overwrite output files

- -load=<plugin.so>
  Load the specified plugin

- -m<arch>
  Specify the architecture for which to generate assembly. Valid

  architectures are:

  <di> x86
    IA-32 (Pentium and above)

    <di> sparc

    SPARC V9

- -o <filename>
  Output filename

- -print-machineinstrs
  Print generated machine code

- -help
  Print a summary of command line options.

- -stats
  Print statistics.

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

### EXIT STATUS

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

### SEE ALSO

llvm-dis, lli

LLVM Team