LLVM Command Guide

These documents are HTML versions of the man pages for all of the LLVM tools. These pages describe how to use the LLVM commands and what their options are. Note that these pages do not describe all of the options available for all tools. To get a complete listing, pass the `--help` (general options) or `--help-hidden` (general+debugging options) arguments to the tool you are interested in.

Basic Commands

- llvm-as - assemble a human-readable .ll file into bytecode
- llvm-dis - disassemble a bytecode file into a human-readable .ll file
- opt - run a series of LLVM-to-LLVM optimizations on a bytecode file
- llc - generate native machine code for a bytecode file
- lli - directly run a program compiled to bytecode using a JIT compiler or interpreter
- llvm-link - link several bytecode files into one
- llvm-ar - archive bytecode files
- llvm-ranlib - create an index for archives made with llvm-ar
- llvm-nm - print out the names and types of symbols in a bytecode file
- llvm-prof - format raw ``llvmprof.out`' data into a human-readable report
- llvmc - generic and configurable compiler driver
- llvm-ld - general purpose linker with loadable runtime optimization support
- llvm-config - print out LLVM compilation options, libraries, etc. as configured.
- llvm2cpp - convert LLVM assembly into the corresponding LLVM C++ API calls to produce it

C, C++, and Stacker Front-end Commands

- llvmgcc - GCC-based C front-end for LLVM
- llvmg++ - GCC-based C++ front-end for LLVM
- stkrc - front-end compiler for the Stacker language

Debugging Tools

- bugpoint - automatic test-case reducer
- llvm-extract - extract a function from an LLVM bytecode file
- llvm-bcanalyzer - bytecode analyzer (analyzes the binary encoding itself, not the program it represents)

Internal Tools

- tblgen - target description reader and generator