Documentation for the LLVM System

- Getting started using LLVM
- Ask questions, get answers
- LLVM documentation
- LLVM mailing lists

Getting Started with LLVM

- Distribution license
- Installing and compiling LLVM components
- Features and limitations of this release
- How to write a pass within the LLVM system
- Start a new development project using LLVM

Questions & Answers

- If you have questions or development problems not answered in the documentation, send e-mail to LLVM-dev. This mailing list is monitored by all the people in the LLVM group at Illinois, and you should expect prompt first responses.
- Please read How to submit a bug for tips on how to track down bugs to their correct originating component -- sometimes, it's a bug in external software and not in LLVM, or for help with debugging your own LLVM passes and extensions.
- We now use Bugzilla to track bugs, so you can submit bugs and check their progress in real-time.

LLVM Documentation

All the documents mentioned below except the design overview tech report are included as part of the LLVM release (in `llvm/docs/*`):

LLVM Design Overview

LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation

LLVM User Guides

- Download and Installation Instructions
- LLVM Command Guide
- LLVM Assembly Language
- LLVM Test Suite Guide
- Building the LLVM C/C++ front-end

LLVM Programming Documentation

- LLVM Programmers Manual
- Writing an LLVM Pass
- Alias Analysis in LLVM
- The LLVM Target-Independent Code Generator
- Accurate Garbage Collection with LLVM
- Source Level Debugging with LLVM
- TableGen Fundamentals
- The Stacker Cronicles - describes both the Stacker language and LLVM frontend, as well as some details about LLVM useful for those writing front-ends.
- Command Line Library
- Extending LLVM
- Coding Standards
- LLVM Bytecode File Format

Other LLVM Resources

- Submitting a bug
- Open projects
- Creating a new LLVM project

Mailing Lists

There are three mailing lists for providing LLVM users with information:

1. LLVM Announcements List

   This is a low volume list that provides important announcements regarding LLVM. It is primarily intended to announce new releases, major updates to the software, etc. This list is highly recommended for anyone that uses LLVM.

2. LLVM Developers List

   This list is for people who want to be included in technical discussions of LLVM. People post to this list when they have questions about writing code for or using the LLVM tools. It is relatively low volume.

3. LLVM Commits List

   This list contains all commit messages that are made when LLVM developers commit code changes to the CVS archive. It is useful for those who want to stay on the bleeding edge of LLVM development. This list is very high volume.