summaryrefslogtreecommitdiffstats
path: root/llvm/docs/index.rst
blob: 4e9bee3c33798f9df1a39f3c815f5bb1ffd2a3ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
About
========

.. warning::

   If you are using a released version of LLVM, see `the download page
   <http://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.

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

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

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


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

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

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

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

`Publications mentioning LLVM <http://llvm.org/pubs>`_
   ..

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

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

.. toctree::
   :hidden:

   UserGuides
   ProgrammingDocumentation
   Reference
   SubsystemDocumentation

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

:doc:`ProgrammingDocumentation`
  For developers of applications which use LLVM as a library.

:doc:`SubsystemDocumentation`
  For API clients and LLVM developers.

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

Getting Started/Tutorials
-------------------------

.. toctree::
   :hidden:

   GettingStarted
   tutorial/index
   GettingStartedVS

:doc:`GettingStarted`
   Discusses how to get up and running quickly with the LLVM infrastructure.
   Everything from unpacking and compilation of the distribution to execution
   of some tools.

:doc:`tutorial/index`
   Tutorials about using LLVM. Includes a tutorial about making a custom
   language with LLVM.

:doc:`GettingStartedVS`
   An addendum to the main Getting Started guide for those using Visual Studio
   on Windows.

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`

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

* :ref:`genindex`
* :ref:`search`
OpenPOWER on IntegriCloud