CommandGuide/index
GettingStarted
GettingStartedVS
+ BuildingLLVMWithAutotools
FAQ
Lexicon
HowToAddABuilder
Passes
YamlIO
GetElementPtr
+ Frontend/PerformanceTips
MCJITDesignAndImplementation
:doc:`GettingStarted`
An addendum to the main Getting Started guide for those using Visual Studio
on Windows.
+:doc:`BuildingLLVMWithAutotools`
+ An addendum to the Getting Started guide with instructions for building LLVM
+ with the Autotools build system.
+
:doc:`tutorial/index`
Tutorials about using LLVM. Includes a tutorial about making a custom
language with LLVM.
Answers to some very frequent questions about LLVM's most frequently
misunderstood instruction.
+:doc:`Frontend/PerformanceTips`
+ A collection of tips for frontend authors on how to generate IR
+ which LLVM is able to effectively optimize.
+
+
Programming Documentation
=========================
(`classes <http://llvm.org/doxygen/inherits.html>`_)
(`tarball <http://llvm.org/doxygen/doxygen.tar.gz>`_)
+`Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_
+
`ViewVC Repository Browser <http://llvm.org/viewvc/>`_
..
AliasAnalysis
BitCodeFormat
+ BlockFrequencyTerminology
BranchWeightMetadata
Bugpoint
CodeGenerator
WritingAnLLVMPass
HowToUseAttributes
NVPTXUsage
+ R600Usage
StackMaps
InAlloca
+ BigEndianNEON
+ CoverageMappingFormat
+ Statepoints
+ MergeFunctions
+ BitSets
:doc:`WritingAnLLVMPass`
Information on how to write LLVM transformations and analyses.
:doc:`BranchWeightMetadata`
Provides information about Branch Prediction Information.
+:doc:`BlockFrequencyTerminology`
+ Provides information about terminology used in the ``BlockFrequencyInfo``
+ analysis pass.
+
:doc:`SegmentedStacks`
This document describes segmented stacks and how they are used in LLVM.
:doc:`NVPTXUsage`
This document describes using the NVPTX back-end to compile GPU kernels.
+:doc:`R600Usage`
+ This document describes how to use the R600 back-end.
+
:doc:`StackMaps`
LLVM support for mapping instruction addresses to the location of
values and allowing code to be patched.
+:doc:`BigEndianNEON`
+ LLVM's support for generating NEON instructions on big endian ARM targets is
+ somewhat nonintuitive. This document explains the implementation and rationale.
+
+:doc:`CoverageMappingFormat`
+ This describes the format and encoding used for LLVM’s code coverage mapping.
+
+:doc:`Statepoints`
+ This describes a set of experimental extensions for garbage
+ collection support.
+
+:doc:`MergeFunctions`
+ Describes functions merging optimization.
+
+:doc:`InAlloca`
+ Description of the ``inalloca`` argument attribute.
+
Development Process Documentation
=================================
HowToReleaseLLVM
Packaging
ReleaseProcess
+ Phabricator
:doc:`DeveloperPolicy`
The LLVM project's policy towards developers and their contributions.
This is a guide to preparing LLVM releases. Most developers can ignore it.
:doc:`ReleaseProcess`
- This is a validate a new release, during the release process. Most developers can ignore it.
+ This is a guide to validate a new release, during the release process. Most developers can ignore it.
:doc:`Packaging`
Advice on packaging LLVM into a distribution.
+:doc:`Phabricator`
+ Describes how to use the Phabricator code review tool hosted on
+ http://reviews.llvm.org/ and its command line interface, Arcanist.
+
Community
=========