llvm.org GIT mirror llvm / release_40 docs / CommandGuide / llc.rst

Tree @release_40 (Download .tar.gz)

llc.rst @release_40view markup · raw · history · blame

llc - LLVM static compiler


:program:`llc` [options] [filename]


The :program:`llc` command compiles LLVM source inputs into assembly language for a specified architecture. The assembly language output can then be passed through a native assembler and linker to generate a native executable.

The choice of architecture for the output assembly code is automatically determined from the input file, unless the :option:`-march` option is used to override the default.


If filename is "-" or omitted, :program:`llc` reads from standard input. Otherwise, it will from filename. Inputs can be in either the LLVM assembly language format (.ll) or the LLVM bitcode format (.bc).

If the :option:`-o` option is omitted, then :program:`llc` will send its output to standard output if the input is from standard input. If the :option:`-o` option specifies "-", then the output will also be sent to standard output.

If no :option:`-o` option is specified and an input file other than "-" is specified, then :program:`llc` creates the output filename by taking the input filename, removing any existing .bc extension, and adding a .s suffix.

Other :program:`llc` options are described below.

End-user Options

Tuning/Configuration Options

Intel IA-32-specific Options


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