@@ -24,6 +24,13 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
24
24
CS literature. Directly stores its conforming protocols and nested
25
25
archetypes, if any.
26
26
27
+ AST
28
+ "Abstract syntax tree", although in practice it's more of a directed graph.
29
+ A parsed representation of code used by a compiler.
30
+
31
+ bitcode
32
+ Serialized LLVM `IR `.
33
+
27
34
canonical SIL
28
35
SIL after the
29
36
`mandatory passes <mandatory passes / mandatory optimizations> ` have run.
@@ -83,6 +90,12 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
83
90
themselves. They can be compared across declarations but cannot be used
84
91
directly from within the context.
85
92
93
+ IR
94
+ 1. "intermediate representation": a generic term for a format representing
95
+ code in a way that is easy for a compiler or tool to manipulate.
96
+ 2. "LLVM IR": a particular IR used by the LLVM libraries for optimization
97
+ and generation of machine code.
98
+
86
99
IUO (implicitly unwrapped optional)
87
100
A type like Optional, but it implicitly converts to its wrapped type. If
88
101
the value is ``nil `` during such a conversion, the program traps just as
@@ -100,6 +113,9 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
100
113
"Looks good to me." Used in code review to indicate approval with no further
101
114
comments.
102
115
116
+ LLVM IR
117
+ See `IR `.
118
+
103
119
main module
104
120
The module for the file or files currently being compiled.
105
121
@@ -198,6 +214,11 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
198
214
behavior of the compiler--it is not just a general statement that the code
199
215
needs to be improved.
200
216
217
+ It's suspected that this term was originally "quality of life", written as
218
+ "Qol", referring to the experience of end users. At some point along its
219
+ history, the lowercase "L" was misinterpreted as an uppercase "i", and a
220
+ new meaning derived. Swift inherited this term from LLVM.
221
+
201
222
Radar
202
223
`Apple's bug-tracking system `__, or an issue reported on that system.
203
224
0 commit comments