About
========

.. warning::

   If you are using a released version of LLVM, see `the download page
   <https://llvm.org/releases/>`_ to find your documentation.

The LLVM compiler infrastructure supports a wide range of projects, from
industrial strength compilers to specialized JIT applications to small
research projects.

Similarly, documentation is broken down into several high-level groupings
targeted at different audiences:

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

Several introductory papers and presentations.

.. toctree::
   :hidden:

   FAQ
   Lexicon

`Introduction to the LLVM Compiler`__
  Presentation providing a users introduction to LLVM.

  .. __: https://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html

`Intro to LLVM`__
  A chapter from the book "The Architecture of Open Source Applications" that
  describes high-level design decisions that shaped LLVM.

  .. __: http://www.aosabook.org/en/llvm.html


`LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation`__
  Design overview.

  .. __: https://llvm.org/pubs/2004-01-30-CGO-LLVM.html

`LLVM: An Infrastructure for Multi-Stage Optimization`__
  More details (quite old now).

  .. __: https://llvm.org/pubs/2002-12-LattnerMSThesis.html

Documentation
=============

Getting Started, How-tos, Developer Guides, and Tutorials.

.. toctree::
   :hidden:

   GettingStartedTutorials
   Reference
   UserGuides

:doc:`GettingStartedTutorials`
  For those new to the LLVM system.

:doc:`UserGuides`
  User guides and How-tos.

:doc:`Reference`
  LLVM and API reference documentation.

Community
=========

LLVM welcomes contributions of all kinds. To learn more, see the following articles:

.. toctree::
   :hidden:

   GettingInvolved

* :doc:`GettingInvolved`
* :ref:`development-process`
* :ref:`mailing-lists`
* :ref:`meetups-social-events`
* :ref:`community-proposals`

  Reporting a security issue

* :ref:`report-security-issue`

Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
