4 LLVM and API reference documentation.
14 BlockFrequencyTerminology
18 ConvergenceAndUniformity
21 DependenceGraphs/index
30 HowToSetUpLLVMStyleRTTI
41 ScudoHardenedAllocator
42 MemoryModelRelaxationAnnotations
45 SecurityTransparencyReports
48 SpeculativeLoadHardening
50 SymbolizerMarkupFormat
64 `Doxygen generated documentation <https://llvm.org/doxygen/>`_
65 (`classes <https://llvm.org/doxygen/inherits.html>`_)
67 :doc:`HowToUseAttributes`
68 Answers some questions about the new Attributes infrastructure.
73 ======================
74 Command Line Utilities
75 ======================
77 :doc:`LLVM Command Guide <CommandGuide/index>`
78 A reference manual for the LLVM command line utilities ("man" pages for LLVM
82 Automatic bug finder and test-case reducer description and usage
86 A command line option for debugging optimization-induced failures.
88 :doc:`SymbolizerMarkupFormat`
89 A reference for the log symbolizer markup accepted by ``llvm-symbolizer``.
91 :doc:`The Microsoft PDB File Format <PDB/index>`
92 A detailed description of the Microsoft PDB (Program Database) file format.
98 :doc:`GarbageCollection`
99 The interfaces source-language compilers should use for compiling GC'd
103 This describes a set of experimental extensions for garbage
111 A library for writing in-process guided fuzzers.
114 Information on writing and using Fuzzers to find bugs in LLVM.
120 :doc:`LLVM Language Reference Manual <LangRef>`
121 Defines the LLVM intermediate representation and the assembly form of the
124 :doc:`Undefined Behavior (UB) <UndefinedBehavior>`
125 A guide on what UB/undef/poison are and when to use each one.
128 Description of the ``inalloca`` argument attribute.
131 This describes the file format and encoding used for LLVM "bc" files.
133 :doc:`Machine IR (MIR) Format Reference Manual <MIRLangRef>`
134 A reference manual for the MIR serialization format, which is used to test
135 LLVM's code generation passes.
137 :doc:`GlobalISel/index`
138 This describes the prototype instruction selection replacement, GlobalISel.
140 :doc:`ConvergentOperations`
141 Description of ``convergent`` operation semantics and related intrinsics.
143 =====================
144 Testing and Debugging
145 =====================
147 :doc:`LLVM Testing Infrastructure Guide <TestingGuide>`
148 A reference manual for using the LLVM testing infrastructure.
150 :doc:`TestSuiteGuide`
151 Describes how to compile and run the test-suite benchmarks.
155 A sampled heap memory error detection toolkit designed for production use.
162 High-level documentation of how to use XRay in LLVM.
165 An example of how to debug an application with XRay.
172 LLVM support for folding control flow into faulting machine instructions.
175 Information about LLVM's concurrency model.
177 :doc:`ExceptionHandling`
178 This document describes the design and implementation of exception handling
182 LLVM-specific extensions to tools and formats LLVM seeks compatibility with.
184 :doc:`HowToSetUpLLVMStyleRTTI`
185 How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
188 :doc:`BlockFrequencyTerminology`
189 Provides information about terminology used in the ``BlockFrequencyInfo``
192 :doc:`BranchWeightMetadata`
193 Provides information about Branch Prediction Information.
196 Answers to some very frequent questions about LLVM's most frequently
197 misunderstood instruction.
199 :doc:`ScudoHardenedAllocator`
200 A library that implements a security-hardened `malloc()`.
202 :doc:`MemoryModelRelaxationAnnotations`
203 Target-defined relaxation to LLVM's concurrency model.
205 :doc:`MemTagSanitizer`
206 Security hardening for production code aiming to mitigate memory
207 related vulnerabilities. Based on the Armv8.5-A Memory Tagging Extension.
209 :doc:`Dependence Graphs <DependenceGraphs/index>`
210 A description of the design of the various dependence graphs such as
211 the DDG (Data Dependence Graph).
213 :doc:`SpeculativeLoadHardening`
214 A description of the Speculative Load Hardening mitigation for Spectre v1.
216 :doc:`SegmentedStacks`
217 This document describes segmented stacks and how they are used in LLVM.
219 :doc:`MarkedUpDisassembly`
220 This document describes the optional rich disassembly output syntax.
223 LLVM support for mapping instruction addresses to the location of
224 values and allowing code to be patched.
227 LLVM support for coroutines.
230 A description of pointer authentication, its LLVM IR representation, and its
231 support in the backend.
234 A reference guide for using LLVM's YAML I/O library.
236 :doc:`ConvergenceAndUniformity`
237 A description of uniformity analysis in the presence of irreducible
238 control flow, and its implementation.