CMake
HowToBuildOnARM
+ HowToCrossCompileLLVM
CommandGuide/index
GettingStarted
GettingStartedVS
Passes
YamlIO
GetElementPtr
+ MCJITDesignAndImplementation
:doc:`GettingStarted`
Discusses how to get up and running quickly with the LLVM infrastructure.
:doc:`HowToBuildOnARM`
Notes on building and testing LLVM/Clang on ARM.
+:doc:`HowToCrossCompileLLVM`
+ Notes on cross-building and testing LLVM/Clang.
+
:doc:`GettingStartedVS`
An addendum to the main Getting Started guide for those using Visual Studio
on Windows.
ExtendingLLVM
HowToSetUpLLVMStyleRTTI
ProgrammersManual
+ Extensions
:doc:`LLVM Language Reference Manual <LangRef>`
Defines the LLVM intermediate representation and the assembly form of the
Introduction to the general layout of the LLVM sourcebase, important classes
and APIs, and some tips & tricks.
+:doc:`Extensions`
+ LLVM-specific extensions to tools and formats LLVM seeks compatibility with.
+
:doc:`CommandLine`
Provides information on using the command line parsing library.
(`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
LinkTimeOptimization
SegmentedStacks
TableGenFundamentals
+ TableGen/index
DebuggingJITedCode
GoldPlugin
MarkedUpDisassembly
WritingAnLLVMBackend
GarbageCollection
WritingAnLLVMPass
- TableGen/LangRef
HowToUseAttributes
+ NVPTXUsage
+ R600Usage
+ StackMaps
+ InAlloca
+ BigEndianNEON
+ CoverageMappingFormat
+ Statepoints
+ MergeFunctions
:doc:`WritingAnLLVMPass`
Information on how to write LLVM transformations and analyses.
working on retargetting LLVM to a new architecture, designing a new codegen
pass, or enhancing existing components.
-:doc:`TableGenFundamentals`
+:doc:`TableGen <TableGen/index>`
Describes the TableGen tool, which is used heavily by the LLVM code
generator.
:doc:`DebuggingJITedCode`
How to debug JITed code with GDB.
+:doc:`MCJITDesignAndImplementation`
+ Describes the inner workings of MCJIT execution engine.
+
: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:`HowToUseAttributes`
Answers some questions about the new Attributes infrastructure.
+: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
=================================
LLVMBuild
HowToReleaseLLVM
Packaging
+ ReleaseProcess
+ Phabricator
:doc:`DeveloperPolicy`
The LLVM project's policy towards developers and their contributions.
:doc:`HowToReleaseLLVM`
This is a guide to preparing LLVM releases. Most developers can ignore it.
+:doc:`ReleaseProcess`
+ 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
=========