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.
AliasAnalysis
BitCodeFormat
+ BlockFrequencyTerminology
BranchWeightMetadata
Bugpoint
CodeGenerator
LinkTimeOptimization
SegmentedStacks
TableGenFundamentals
+ TableGen/index
DebuggingJITedCode
GoldPlugin
MarkedUpDisassembly
WritingAnLLVMBackend
GarbageCollection
WritingAnLLVMPass
- TableGen/LangRef
HowToUseAttributes
+ NVPTXUsage
+ StackMaps
+ InAlloca
+ BigEndianNEON
+ CoverageMappingFormat
: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:`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.
+
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
=========
`Commits Archive (llvm-commits)`__
This list contains all commit messages that are made when LLVM developers
- commit code changes to the repository. It is useful for those who want to
- stay on the bleeding edge of LLVM development. This list is very high volume.
+ commit code changes to the repository. It also serves as a forum for
+ patch review (i.e. send patches here). It is useful for those who want to
+ stay on the bleeding edge of LLVM development. This list is very high
+ volume.
.. __: http://lists.cs.uiuc.edu/pipermail/llvm-commits/
`Bugs & Patches Archive (llvmbugs)`__
- This list gets emailed every time a bug is opened and closed, and when people
- submit patches to be included in LLVM. It is higher volume than the LLVMdev
- list.
+ This list gets emailed every time a bug is opened and closed. It is
+ higher volume than the LLVMdev list.
.. __: http://lists.cs.uiuc.edu/pipermail/llvmbugs/