CMakePrimer
AdvancedBuilds
HowToBuildOnARM
+ HowToCrossCompileBuiltinsOnArm
HowToCrossCompileLLVM
CommandGuide/index
GettingStarted
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
`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
=======================
Coroutines
GlobalISel
XRay
+ XRayExample
+ XRayFDRFormat
+ PDB/index
+ CFIVerify
:doc:`WritingAnLLVMPass`
Information on how to write LLVM transformations and analyses.
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:`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.
CodeOfConduct
Proposals/GitHubMove
+ Proposals/VectorizationPlan
:doc:`CodeOfConduct`
Proposal to adopt a code of conduct on the LLVM social spaces (lists, events,
: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
==================