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
- analyze - run LLVM analyses on a bytecode file and print the results
- 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

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

- llvmgcc - GCC-based C front-end for LLVM
- llvmg++ - GCC-based C++ front-end for LLVM
- gccas - compile-time optimizer used by llvm-g++ and llvm-gcc
- gccld - linker and link-time optimizer used by llvm-g++ and llvm-gcc
- stkrc - front-end compiler for the Stacker language

Debugging Tools

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