[llvm] [cmake] Add possibility to use ChooseMSVCCRT.cmake when include LLVM library
[llvm-core.git] / docs / index.rst
blobf029aa70801f63cecafc2d1ddeea25cfbffb7f52
1 About
2 ========
4 .. warning::
6    If you are using a released version of LLVM, see `the download page
7    <http://llvm.org/releases/>`_ to find your documentation.
9 The LLVM compiler infrastructure supports a wide range of projects, from
10 industrial strength compilers to specialized JIT applications to small
11 research projects.
13 Similarly, documentation is broken down into several high-level groupings
14 targeted at different audiences:
16 LLVM Design & Overview
17 ======================
19 Several introductory papers and presentations.
21 .. toctree::
22    :hidden:
24    FAQ
25    Lexicon
27 `Introduction to the LLVM Compiler`__
28   Presentation providing a users introduction to LLVM.
30   .. __: http://llvm.org/pubs/2008-10-04-ACAT-LLVM-Intro.html
32 `Intro to LLVM`__
33   Book chapter providing a compiler hacker's introduction to LLVM.
35   .. __: http://www.aosabook.org/en/llvm.html
38 `LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation`__
39   Design overview.
41   .. __: http://llvm.org/pubs/2004-01-30-CGO-LLVM.html
43 `LLVM: An Infrastructure for Multi-Stage Optimization`__
44   More details (quite old now).
46   .. __: http://llvm.org/pubs/2002-12-LattnerMSThesis.html
48 `Publications mentioning LLVM <http://llvm.org/pubs>`_
49    ..
51 Documentation
52 =============
54 Getting Started, How-tos, Developer Guides, and Tutorials.
56 .. toctree::
57    :hidden:
59    UserGuides
60    ProgrammingDocumentation
61    SubsystemDocumentation
63 :doc:`UserGuides`
64   For those new to the LLVM system.
66 :doc:`ProgrammingDocumentation`
67   For developers of applications which use LLVM as a library.
69 :doc:`SubsystemDocumentation`
70   For API clients and LLVM developers.
72 Getting Started/Tutorials
73 -------------------------
75 .. toctree::
76    :hidden:
78    GettingStarted
79    tutorial/index
80    GettingStartedVS
82 :doc:`GettingStarted`
83    Discusses how to get up and running quickly with the LLVM infrastructure.
84    Everything from unpacking and compilation of the distribution to execution
85    of some tools.
87 :doc:`tutorial/index`
88    Tutorials about using LLVM. Includes a tutorial about making a custom
89    language with LLVM.
91 :doc:`GettingStartedVS`
92    An addendum to the main Getting Started guide for those using Visual Studio
93    on Windows.
95 Reference
96 ---------
98 LLVM and API reference documentation.
100 .. toctree::
101    :hidden:
103    LangRef
104    CommandGuide/index
105    TestingGuide
106    CompilerWriterInfo
107    MIRLangRef
109 :doc:`LLVM Language Reference Manual <LangRef>`
110   Defines the LLVM intermediate representation and the assembly form of the
111   different nodes.
113 :doc:`LLVM Command Guide <CommandGuide/index>`
114    A reference manual for the LLVM command line utilities ("man" pages for LLVM
115    tools).
117 :doc:`LLVM Testing Infrastructure Guide <TestingGuide>`
118    A reference manual for using the LLVM testing infrastructure.
120 :doc:`CompilerWriterInfo`
121   A list of helpful links for compiler writers.
123 :doc:`Machine IR (MIR) Format Reference Manual <MIRLangRef>`
124    A reference manual for the MIR serialization format, which is used to test
125    LLVM's code generation passes.
127 `Doxygen generated documentation <http://llvm.org/doxygen/>`_
128   (`classes <http://llvm.org/doxygen/inherits.html>`_)
130 `Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_
132 `Github Source Repository Browser <http://github.com/llvm/llvm-project//>`_
133    ..
135 Community
136 =========
138 LLVM welcomes contributions of all kinds. To learn more, see the following articles:
140 .. toctree::
141    :hidden:
143    GettingInvolved
145 * :doc:`GettingInvolved`
146 * :ref:`development-process`
147 * :ref:`mailing-lists`
148 * :ref:`meetups-social-events`
149 * :ref:`community-proposals`
151 Indices and tables
152 ==================
154 * :ref:`genindex`
155 * :ref:`search`