LLVM Command Guide

This document is the reference manual for the LLVM utilities. It will show you how to use the LLVM commands and what their options are. Note that in the descriptions below, `bytecode' and `program' refer to LLVM bytecode files and assembly programs, respectively.

- Basic Commands
- C and C++ Frond-end Commands
- Debugging commands

Basic Commands

- llvm-as - assemble a human-readable program into bytecode
- llvm-dis - disassemble a bytecode file into human-readable form
- analyze - analyze a program compiled to bytecode
- opt - optimize a bytecode file
- llc - compile a bytecode program into native machine code
- lli - run a bytecode program using either an interpreter or a JIT compiler
- llvm-link link several bytecode files into one
- llvm-nm print out the names and types of symbols in a bytecode file
- llvm-prof - transform raw ``llvmprof.out`' data into a human-readable report

C and C++ Front-end Commands

- llvmgcc - GCC-based C front end for LLVM
- llvmg++ - GCC-based C++ front end for LLVM
- gccas - optimizing assembler used by llvm-g++ and llvm-gcc
- gccld - optimizing linker used by llvm-g++ and llvm-gcc

Debugging Tools

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