annotate llvm/docs/Reference.rst @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents 1f2b6ac9f198
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 Reference
anatofuz
parents:
diff changeset
2 =========
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 LLVM and API reference documentation.
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 .. contents::
anatofuz
parents:
diff changeset
7 :local:
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 .. toctree::
anatofuz
parents:
diff changeset
10 :hidden:
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 Atomics
anatofuz
parents:
diff changeset
13 BitCodeFormat
anatofuz
parents:
diff changeset
14 BlockFrequencyTerminology
anatofuz
parents:
diff changeset
15 BranchWeightMetadata
anatofuz
parents:
diff changeset
16 Bugpoint
anatofuz
parents:
diff changeset
17 CommandGuide/index
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
18 ConvergenceAndUniformity
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
19 ConvergentOperations
150
anatofuz
parents:
diff changeset
20 Coroutines
anatofuz
parents:
diff changeset
21 DependenceGraphs/index
anatofuz
parents:
diff changeset
22 ExceptionHandling
anatofuz
parents:
diff changeset
23 Extensions
anatofuz
parents:
diff changeset
24 FaultMaps
anatofuz
parents:
diff changeset
25 FuzzingLLVM
anatofuz
parents:
diff changeset
26 GarbageCollection
anatofuz
parents:
diff changeset
27 GetElementPtr
anatofuz
parents:
diff changeset
28 GlobalISel/index
anatofuz
parents:
diff changeset
29 GwpAsan
anatofuz
parents:
diff changeset
30 HowToSetUpLLVMStyleRTTI
anatofuz
parents:
diff changeset
31 HowToUseAttributes
anatofuz
parents:
diff changeset
32 InAlloca
anatofuz
parents:
diff changeset
33 LangRef
anatofuz
parents:
diff changeset
34 LibFuzzer
anatofuz
parents:
diff changeset
35 MarkedUpDisassembly
anatofuz
parents:
diff changeset
36 MIRLangRef
anatofuz
parents:
diff changeset
37 OptBisect
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
38 PCSectionsMetadata
150
anatofuz
parents:
diff changeset
39 PDB/index
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
40 PointerAuth
150
anatofuz
parents:
diff changeset
41 ScudoHardenedAllocator
anatofuz
parents:
diff changeset
42 MemTagSanitizer
221
79ff65ed7e25 LLVM12 Original
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 173
diff changeset
43 Security
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
44 SecurityTransparencyReports
150
anatofuz
parents:
diff changeset
45 SegmentedStacks
anatofuz
parents:
diff changeset
46 StackMaps
anatofuz
parents:
diff changeset
47 SpeculativeLoadHardening
anatofuz
parents:
diff changeset
48 Statepoints
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
49 SymbolizerMarkupFormat
150
anatofuz
parents:
diff changeset
50 SystemLibrary
anatofuz
parents:
diff changeset
51 TestingGuide
anatofuz
parents:
diff changeset
52 TransformMetadata
anatofuz
parents:
diff changeset
53 TypeMetadata
anatofuz
parents:
diff changeset
54 XRay
anatofuz
parents:
diff changeset
55 XRayExample
anatofuz
parents:
diff changeset
56 XRayFDRFormat
anatofuz
parents:
diff changeset
57 YamlIO
anatofuz
parents:
diff changeset
58
anatofuz
parents:
diff changeset
59 API Reference
anatofuz
parents:
diff changeset
60 -------------
anatofuz
parents:
diff changeset
61
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
62 `Doxygen generated documentation <https://llvm.org/doxygen/>`_
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
63 (`classes <https://llvm.org/doxygen/inherits.html>`_)
150
anatofuz
parents:
diff changeset
64
anatofuz
parents:
diff changeset
65 :doc:`HowToUseAttributes`
anatofuz
parents:
diff changeset
66 Answers some questions about the new Attributes infrastructure.
anatofuz
parents:
diff changeset
67
anatofuz
parents:
diff changeset
68 LLVM Reference
anatofuz
parents:
diff changeset
69 --------------
anatofuz
parents:
diff changeset
70
anatofuz
parents:
diff changeset
71 ======================
anatofuz
parents:
diff changeset
72 Command Line Utilities
anatofuz
parents:
diff changeset
73 ======================
anatofuz
parents:
diff changeset
74
anatofuz
parents:
diff changeset
75 :doc:`LLVM Command Guide <CommandGuide/index>`
anatofuz
parents:
diff changeset
76 A reference manual for the LLVM command line utilities ("man" pages for LLVM
anatofuz
parents:
diff changeset
77 tools).
anatofuz
parents:
diff changeset
78
anatofuz
parents:
diff changeset
79 :doc:`Bugpoint`
anatofuz
parents:
diff changeset
80 Automatic bug finder and test-case reducer description and usage
anatofuz
parents:
diff changeset
81 information.
anatofuz
parents:
diff changeset
82
anatofuz
parents:
diff changeset
83 :doc:`OptBisect`
anatofuz
parents:
diff changeset
84 A command line option for debugging optimization-induced failures.
anatofuz
parents:
diff changeset
85
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
86 :doc:`SymbolizerMarkupFormat`
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
87 A reference for the log symbolizer markup accepted by ``llvm-symbolizer``.
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
88
150
anatofuz
parents:
diff changeset
89 :doc:`The Microsoft PDB File Format <PDB/index>`
anatofuz
parents:
diff changeset
90 A detailed description of the Microsoft PDB (Program Database) file format.
anatofuz
parents:
diff changeset
91
anatofuz
parents:
diff changeset
92 ==================
anatofuz
parents:
diff changeset
93 Garbage Collection
anatofuz
parents:
diff changeset
94 ==================
anatofuz
parents:
diff changeset
95
anatofuz
parents:
diff changeset
96 :doc:`GarbageCollection`
anatofuz
parents:
diff changeset
97 The interfaces source-language compilers should use for compiling GC'd
anatofuz
parents:
diff changeset
98 programs.
anatofuz
parents:
diff changeset
99
anatofuz
parents:
diff changeset
100 :doc:`Statepoints`
anatofuz
parents:
diff changeset
101 This describes a set of experimental extensions for garbage
anatofuz
parents:
diff changeset
102 collection support.
anatofuz
parents:
diff changeset
103
anatofuz
parents:
diff changeset
104 =========
anatofuz
parents:
diff changeset
105 LibFuzzer
anatofuz
parents:
diff changeset
106 =========
anatofuz
parents:
diff changeset
107
anatofuz
parents:
diff changeset
108 :doc:`LibFuzzer`
anatofuz
parents:
diff changeset
109 A library for writing in-process guided fuzzers.
anatofuz
parents:
diff changeset
110
anatofuz
parents:
diff changeset
111 :doc:`FuzzingLLVM`
anatofuz
parents:
diff changeset
112 Information on writing and using Fuzzers to find bugs in LLVM.
anatofuz
parents:
diff changeset
113
anatofuz
parents:
diff changeset
114 ========
anatofuz
parents:
diff changeset
115 LLVM IR
anatofuz
parents:
diff changeset
116 ========
anatofuz
parents:
diff changeset
117
anatofuz
parents:
diff changeset
118 :doc:`LLVM Language Reference Manual <LangRef>`
anatofuz
parents:
diff changeset
119 Defines the LLVM intermediate representation and the assembly form of the
anatofuz
parents:
diff changeset
120 different nodes.
anatofuz
parents:
diff changeset
121
anatofuz
parents:
diff changeset
122 :doc:`InAlloca`
anatofuz
parents:
diff changeset
123 Description of the ``inalloca`` argument attribute.
anatofuz
parents:
diff changeset
124
anatofuz
parents:
diff changeset
125 :doc:`BitCodeFormat`
anatofuz
parents:
diff changeset
126 This describes the file format and encoding used for LLVM "bc" files.
anatofuz
parents:
diff changeset
127
anatofuz
parents:
diff changeset
128 :doc:`Machine IR (MIR) Format Reference Manual <MIRLangRef>`
anatofuz
parents:
diff changeset
129 A reference manual for the MIR serialization format, which is used to test
anatofuz
parents:
diff changeset
130 LLVM's code generation passes.
anatofuz
parents:
diff changeset
131
anatofuz
parents:
diff changeset
132 :doc:`GlobalISel/index`
anatofuz
parents:
diff changeset
133 This describes the prototype instruction selection replacement, GlobalISel.
anatofuz
parents:
diff changeset
134
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
135 :doc:`ConvergentOperations`
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
136 Description of ``convergent`` operation semantics and related intrinsics.
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
137
150
anatofuz
parents:
diff changeset
138 =====================
anatofuz
parents:
diff changeset
139 Testing and Debugging
anatofuz
parents:
diff changeset
140 =====================
anatofuz
parents:
diff changeset
141
anatofuz
parents:
diff changeset
142 :doc:`LLVM Testing Infrastructure Guide <TestingGuide>`
anatofuz
parents:
diff changeset
143 A reference manual for using the LLVM testing infrastructure.
anatofuz
parents:
diff changeset
144
anatofuz
parents:
diff changeset
145 :doc:`TestSuiteGuide`
anatofuz
parents:
diff changeset
146 Describes how to compile and run the test-suite benchmarks.
anatofuz
parents:
diff changeset
147
anatofuz
parents:
diff changeset
148
anatofuz
parents:
diff changeset
149 :doc:`GwpAsan`
anatofuz
parents:
diff changeset
150 A sampled heap memory error detection toolkit designed for production use.
anatofuz
parents:
diff changeset
151
anatofuz
parents:
diff changeset
152 ====
anatofuz
parents:
diff changeset
153 XRay
anatofuz
parents:
diff changeset
154 ====
anatofuz
parents:
diff changeset
155
anatofuz
parents:
diff changeset
156 :doc:`XRay`
anatofuz
parents:
diff changeset
157 High-level documentation of how to use XRay in LLVM.
anatofuz
parents:
diff changeset
158
anatofuz
parents:
diff changeset
159 :doc:`XRayExample`
anatofuz
parents:
diff changeset
160 An example of how to debug an application with XRay.
anatofuz
parents:
diff changeset
161
anatofuz
parents:
diff changeset
162 =================
anatofuz
parents:
diff changeset
163 Additional Topics
anatofuz
parents:
diff changeset
164 =================
anatofuz
parents:
diff changeset
165
anatofuz
parents:
diff changeset
166 :doc:`FaultMaps`
anatofuz
parents:
diff changeset
167 LLVM support for folding control flow into faulting machine instructions.
anatofuz
parents:
diff changeset
168
anatofuz
parents:
diff changeset
169 :doc:`Atomics`
anatofuz
parents:
diff changeset
170 Information about LLVM's concurrency model.
anatofuz
parents:
diff changeset
171
anatofuz
parents:
diff changeset
172 :doc:`ExceptionHandling`
anatofuz
parents:
diff changeset
173 This document describes the design and implementation of exception handling
anatofuz
parents:
diff changeset
174 in LLVM.
anatofuz
parents:
diff changeset
175
anatofuz
parents:
diff changeset
176 :doc:`Extensions`
anatofuz
parents:
diff changeset
177 LLVM-specific extensions to tools and formats LLVM seeks compatibility with.
anatofuz
parents:
diff changeset
178
anatofuz
parents:
diff changeset
179 :doc:`HowToSetUpLLVMStyleRTTI`
anatofuz
parents:
diff changeset
180 How to make ``isa<>``, ``dyn_cast<>``, etc. available for clients of your
anatofuz
parents:
diff changeset
181 class hierarchy.
anatofuz
parents:
diff changeset
182
anatofuz
parents:
diff changeset
183 :doc:`BlockFrequencyTerminology`
anatofuz
parents:
diff changeset
184 Provides information about terminology used in the ``BlockFrequencyInfo``
anatofuz
parents:
diff changeset
185 analysis pass.
anatofuz
parents:
diff changeset
186
anatofuz
parents:
diff changeset
187 :doc:`BranchWeightMetadata`
anatofuz
parents:
diff changeset
188 Provides information about Branch Prediction Information.
anatofuz
parents:
diff changeset
189
anatofuz
parents:
diff changeset
190 :doc:`GetElementPtr`
anatofuz
parents:
diff changeset
191 Answers to some very frequent questions about LLVM's most frequently
anatofuz
parents:
diff changeset
192 misunderstood instruction.
anatofuz
parents:
diff changeset
193
anatofuz
parents:
diff changeset
194 :doc:`ScudoHardenedAllocator`
anatofuz
parents:
diff changeset
195 A library that implements a security-hardened `malloc()`.
anatofuz
parents:
diff changeset
196
anatofuz
parents:
diff changeset
197 :doc:`MemTagSanitizer`
anatofuz
parents:
diff changeset
198 Security hardening for production code aiming to mitigate memory
173
0572611fdcc8 reorgnization done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
199 related vulnerabilities. Based on the Armv8.5-A Memory Tagging Extension.
150
anatofuz
parents:
diff changeset
200
anatofuz
parents:
diff changeset
201 :doc:`Dependence Graphs <DependenceGraphs/index>`
anatofuz
parents:
diff changeset
202 A description of the design of the various dependence graphs such as
anatofuz
parents:
diff changeset
203 the DDG (Data Dependence Graph).
anatofuz
parents:
diff changeset
204
anatofuz
parents:
diff changeset
205 :doc:`SpeculativeLoadHardening`
anatofuz
parents:
diff changeset
206 A description of the Speculative Load Hardening mitigation for Spectre v1.
anatofuz
parents:
diff changeset
207
anatofuz
parents:
diff changeset
208 :doc:`SegmentedStacks`
anatofuz
parents:
diff changeset
209 This document describes segmented stacks and how they are used in LLVM.
anatofuz
parents:
diff changeset
210
anatofuz
parents:
diff changeset
211 :doc:`MarkedUpDisassembly`
anatofuz
parents:
diff changeset
212 This document describes the optional rich disassembly output syntax.
anatofuz
parents:
diff changeset
213
anatofuz
parents:
diff changeset
214 :doc:`StackMaps`
anatofuz
parents:
diff changeset
215 LLVM support for mapping instruction addresses to the location of
anatofuz
parents:
diff changeset
216 values and allowing code to be patched.
anatofuz
parents:
diff changeset
217
anatofuz
parents:
diff changeset
218 :doc:`Coroutines`
anatofuz
parents:
diff changeset
219 LLVM support for coroutines.
anatofuz
parents:
diff changeset
220
236
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
221 :doc:`PointerAuth`
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
222 A description of pointer authentication, its LLVM IR representation, and its
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
223 support in the backend.
c4bab56944e8 LLVM 16
kono
parents: 221
diff changeset
224
150
anatofuz
parents:
diff changeset
225 :doc:`YamlIO`
anatofuz
parents:
diff changeset
226 A reference guide for using LLVM's YAML I/O library.
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
227
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
228 :doc:`ConvergenceAndUniformity`
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
229 A description of uniformity analysis in the presence of irreducible
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
230 control flow, and its implementation.