[UpdateCCTestChecks] Detect function mangled name on separate line
[llvm-core.git] / docs / Reference.rst
bloba24a8a1eade5a679300fc25b13a7d519e261fee6
1 Reference\r
2 =========\r
3 \r
4 LLVM and API reference documentation.\r
5 \r
6 .. contents::\r
7    :local:\r
8 \r
9 .. toctree::\r
10    :hidden:\r
12    Atomics\r
13    BitCodeFormat\r
14    BlockFrequencyTerminology\r
15    BranchWeightMetadata\r
16    Bugpoint\r
17    CFIVerify\r
18    CommandGuide/index\r
19    CompilerWriterInfo\r
20    Coroutines\r
21    DependenceGraphs/index\r
22    ExceptionHandling\r
23    Extensions\r
24    FaultMaps\r
25    FuzzingLLVM\r
26    GarbageCollection\r
27    GetElementPtr\r
28    GlobalISel\r
29    GwpAsan\r
30    HowToSetUpLLVMStyleRTTI\r
31    HowToUseAttributes\r
32    InAlloca\r
33    LangRef\r
34    LibFuzzer\r
35    MarkedUpDisassembly\r
36    MemorySSA\r
37    MIRLangRef\r
38    OptBisect\r
39    ORCv2\r
40    PDB/index\r
41    ScudoHardenedAllocator\r
42    SegmentedStacks\r
43    StackMaps\r
44    SpeculativeLoadHardening\r
45    SupportLibrary\r
46    Statepoints\r
47    SystemLibrary\r
48    TestingGuide\r
49    TransformMetadata\r
50    TypeMetadata\r
51    XRay\r
52    XRayExample\r
53    XRayFDRFormat\r
54    YamlIO\r
56 API Reference\r
57 -------------\r
59 `Doxygen generated documentation <http://llvm.org/doxygen/>`_\r
60   (`classes <http://llvm.org/doxygen/inherits.html>`_)\r
62 `Documentation for Go bindings <http://godoc.org/llvm.org/llvm/bindings/go/llvm>`_\r
64 :doc:`ORCv2`\r
65    Describes the design and implementation of the ORC APIs, including some\r
66    usage examples, and a guide for users transitioning from ORCv1 to ORCv2.\r
68 LLVM Reference\r
69 --------------\r
71 :doc:`LLVM Language Reference Manual <LangRef>`\r
72   Defines the LLVM intermediate representation and the assembly form of the\r
73   different nodes.\r
75 :doc:`FaultMaps`\r
76   LLVM support for folding control flow into faulting machine instructions.\r
78 :doc:`InAlloca`\r
79   Description of the ``inalloca`` argument attribute.\r
81 :doc:`Machine IR (MIR) Format Reference Manual <MIRLangRef>`\r
82    A reference manual for the MIR serialization format, which is used to test\r
83    LLVM's code generation passes.\r
85 :doc:`GlobalISel`\r
86   This describes the prototype instruction selection replacement, GlobalISel.\r
88 :doc:`Atomics`\r
89   Information about LLVM's concurrency model.\r
91 :doc:`ExceptionHandling`\r
92    This document describes the design and implementation of exception handling\r
93    in LLVM.\r
95 :doc:`CompilerWriterInfo`\r
96   A list of helpful links for compiler writers.\r
98 :doc:`BitCodeFormat`\r
99    This describes the file format and encoding used for LLVM "bc" files.\r
101 :doc:`Extensions`\r
102   LLVM-specific extensions to tools and formats LLVM seeks compatibility with.\r
104 :doc:`HowToSetUpLLVMStyleRTTI`\r
105   How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your\r
106   class hierarchy.\r
108 :doc:`BlockFrequencyTerminology`\r
109    Provides information about terminology used in the ``BlockFrequencyInfo``\r
110    analysis pass.\r
112 :doc:`BranchWeightMetadata`\r
113    Provides information about Branch Prediction Information.\r
115 :doc:`MemorySSA`\r
116    Information about the MemorySSA utility in LLVM, as well as how to use it.\r
118 :doc:`Support Library <SupportLibrary>`\r
119    This document describes the LLVM Support Library (``lib/Support``) and\r
120    how to keep LLVM source code portable\r
122 :doc:`GetElementPtr`\r
123   Answers to some very frequent questions about LLVM's most frequently\r
124   misunderstood instruction.\r
126 :doc:`ScudoHardenedAllocator`\r
127   A library that implements a security-hardened `malloc()`.\r
129 :doc:`GwpAsan`\r
130   A sampled heap memory error detection toolkit designed for production use.\r
132 :doc:`Dependence Graphs <DependenceGraphs/index>`\r
133   A description of the design of the various dependence graphs such as\r
134   the DDG (Data Dependence Graph).\r
136 :doc:`CFIVerify`\r
137   A description of the verification tool for Control Flow Integrity.\r
139 :doc:`SpeculativeLoadHardening`\r
140   A description of the Speculative Load Hardening mitigation for Spectre v1.\r
142 :doc:`SegmentedStacks`\r
143    This document describes segmented stacks and how they are used in LLVM.\r
145 :doc:`MarkedUpDisassembly`\r
146    This document describes the optional rich disassembly output syntax.\r
148 :doc:`HowToUseAttributes`\r
149   Answers some questions about the new Attributes infrastructure.\r
151 :doc:`StackMaps`\r
152   LLVM support for mapping instruction addresses to the location of\r
153   values and allowing code to be patched.\r
155 :doc:`Coroutines`\r
156   LLVM support for coroutines.\r
158 :doc:`YamlIO`\r
159    A reference guide for using LLVM's YAML I/O library.\r
161 ======================\r
162 Command Line Utilities\r
163 ======================\r
165 :doc:`LLVM Command Guide <CommandGuide/index>`\r
166    A reference manual for the LLVM command line utilities ("man" pages for LLVM\r
167    tools).\r
169 :doc:`Bugpoint`\r
170    Automatic bug finder and test-case reducer description and usage\r
171    information.\r
173 :doc:`OptBisect`\r
174   A command line option for debugging optimization-induced failures.\r
176 :doc:`The Microsoft PDB File Format <PDB/index>`\r
177   A detailed description of the Microsoft PDB (Program Database) file format.\r
179 ==================\r
180 Garbage Collection\r
181 ==================\r
183 :doc:`GarbageCollection`\r
184    The interfaces source-language compilers should use for compiling GC'd\r
185    programs.\r
187 :doc:`Statepoints`\r
188   This describes a set of experimental extensions for garbage\r
189   collection support.\r
191 =========\r
192 LibFuzzer\r
193 =========\r
195 :doc:`LibFuzzer`\r
196   A library for writing in-process guided fuzzers.\r
198 :doc:`FuzzingLLVM`\r
199   Information on writing and using Fuzzers to find bugs in LLVM.\r
201 =======\r
202 Testing\r
203 =======\r
205 :doc:`LLVM Testing Infrastructure Guide <TestingGuide>`\r
206    A reference manual for using the LLVM testing infrastructure.\r
208 :doc:`TestSuiteGuide`\r
209   Describes how to compile and run the test-suite benchmarks.\r
211 ====\r
212 XRay\r
213 ====\r
215 :doc:`XRay`\r
216   High-level documentation of how to use XRay in LLVM.\r
218 :doc:`XRayExample`\r
219   An example of how to debug an application with XRay.