.. _design_and_overview:

LLVM Design & Overview
======================

 * `LLVM Language Reference Manual <LangRef.html>`_

   Defines the LLVM intermediate representation.

 * `Introduction to the LLVM Compiler <http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html>`_

   Presentation providing a users introduction to LLVM.

 * `Intro to LLVM <http://www.aosabook.org/en/llvm.html>`_

   Book chapter providing a compiler hacker's introduction to LLVM.

 * `LLVM: A Compilation Framework forLifelong Program Analysis & Transformation
   <http://llvm.org/pubs/2004-01-30-CGO-LLVM.html>`_

   Design overview.

 * `LLVM: An Infrastructure for Multi-Stage Optimization
   <http://llvm.org/pubs/2002-12-LattnerMSThesis.html>`_

   More details (quite old now).

 * `GetElementPtr FAQ <GetElementPtr.html>`_

   Answers to some very frequent questions about LLVM's most frequently
   misunderstood instruction.
