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.
LinkTimeOptimization
SegmentedStacks
TableGenFundamentals
+ TableGen/index
DebuggingJITedCode
GoldPlugin
MarkedUpDisassembly
WritingAnLLVMBackend
GarbageCollection
WritingAnLLVMPass
- TableGen/LangRef
HowToUseAttributes
NVPTXUsage
+ StackMaps
+ InAlloca
: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:`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.
Development Process Documentation
=================================
LLVMBuild
HowToReleaseLLVM
Packaging
+ ReleaseProcess
: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 validate a new release, during the release process. Most developers can ignore it.
+
:doc:`Packaging`
Advice on packaging LLVM into a distribution.