:hidden:
CMake
+ CMakePrimer
+ AdvancedBuilds
HowToBuildOnARM
+ HowToCrossCompileBuiltinsOnArm
HowToCrossCompileLLVM
CommandGuide/index
GettingStarted
GetElementPtr
Frontend/PerformanceTips
MCJITDesignAndImplementation
+ CodeOfConduct
CompileCudaWithLLVM
+ ReportingGuide
+ Benchmarking
+ Docker
: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:`HowToCrossCompileBuiltinsOnArm`
+ Notes on cross-building and testing the compiler-rt builtins for Arm.
+
:doc:`HowToCrossCompileLLVM`
Notes on cross-building and testing LLVM/Clang.
misunderstood instruction.
:doc:`Frontend/PerformanceTips`
- A collection of tips for frontend authors on how to generate IR
+ A collection of tips for frontend authors on how to generate IR
which LLVM is able to effectively optimize.
+:doc:`Docker`
+ A reference for using Dockerfiles provided with LLVM.
+
Programming Documentation
=========================
ProgrammersManual
Extensions
LibFuzzer
+ FuzzingLLVM
+ ScudoHardenedAllocator
+ OptBisect
:doc:`LLVM Language Reference Manual <LangRef>`
Defines the LLVM intermediate representation and the assembly form of the
`Doxygen generated documentation <http://llvm.org/doxygen/>`_
(`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>`_
:doc:`LibFuzzer`
A library for writing in-process guided fuzzers.
+:doc:`FuzzingLLVM`
+ Information on writing and using Fuzzers to find bugs in LLVM.
+
+:doc:`ScudoHardenedAllocator`
+ A library that implements a security-hardened `malloc()`.
+
+:doc:`OptBisect`
+ A command line option for debugging optimization-induced failures.
+
+.. _index-subsystem-docs:
+
Subsystem Documentation
=======================
:hidden:
AliasAnalysis
+ MemorySSA
BitCodeFormat
BlockFrequencyTerminology
BranchWeightMetadata
CoverageMappingFormat
Statepoints
MergeFunctions
- BitSets
+ TypeMetadata
FaultMaps
MIRLangRef
+ Coroutines
+ GlobalISel
+ XRay
+ XRayExample
+ XRayFDRFormat
+ PDB/index
+ CFIVerify
:doc:`WritingAnLLVMPass`
Information on how to write LLVM transformations and analyses.
Information on how to write a new alias analysis implementation or how to
use existing analyses.
+:doc:`MemorySSA`
+ Information about the MemorySSA utility in LLVM, as well as how to use it.
+
:doc:`GarbageCollection`
The interfaces source-language compilers should use for compiling GC'd
programs.
Answers some questions about the new Attributes infrastructure.
:doc:`NVPTXUsage`
- This document describes using the NVPTX back-end to compile GPU kernels.
+ This document describes using the NVPTX backend to compile GPU kernels.
:doc:`AMDGPUUsage`
- This document describes how to use the AMDGPU back-end.
+ This document describes using the AMDGPU backend to compile GPU kernels.
:doc:`StackMaps`
LLVM support for mapping instruction addresses to the location of
:doc:`CompileCudaWithLLVM`
LLVM support for CUDA.
+:doc:`Coroutines`
+ LLVM support for coroutines.
+
+:doc:`GlobalISel`
+ This describes the prototype instruction selection replacement, GlobalISel.
+
+:doc:`XRay`
+ High-level documentation of how to use XRay in LLVM.
+
+:doc:`XRayExample`
+ An example of how to debug an application with XRay.
+
+:doc:`The Microsoft PDB File Format <PDB/index>`
+ A detailed description of the Microsoft PDB (Program Database) file format.
+
+:doc:`CFIVerify`
+ A description of the verification tool for Control Flow Integrity.
+
Development Process Documentation
=================================
.. toctree::
:hidden:
+ Contributing
DeveloperPolicy
Projects
LLVMBuild
ReleaseProcess
Phabricator
+:doc:`Contributing`
+ An overview on how to contribute to LLVM.
+
:doc:`DeveloperPolicy`
The LLVM project's policy towards developers and their contributions.
* clang-bot - A `geordi <http://www.eelis.net/geordi/>`_ instance running
near-trunk clang instead of gcc.
+Community wide proposals
+------------------------
+
+Proposals for massive changes in how the community behaves and how the work flow
+can be better.
+
+.. toctree::
+ :hidden:
+
+ CodeOfConduct
+ Proposals/GitHubMove
+ Proposals/VectorizationPlan
+
+:doc:`CodeOfConduct`
+ Proposal to adopt a code of conduct on the LLVM social spaces (lists, events,
+ IRC, etc).
+
+:doc:`Proposals/GitHubMove`
+ Proposal to move from SVN/Git to GitHub.
+
+:doc:`Proposals/VectorizationPlan`
+ Proposal to model the process and upgrade the infrastructure of LLVM's Loop Vectorizer.
Indices and tables
==================