[DFAJumpThreading] Remove incoming StartBlock from all phis when unfolding select...
[llvm-project.git] / clang / lib / Headers / module.modulemap
bloba786689d391773c2b1bf61f04a947d15309b7bfa
1 /*===---- module.modulemap - intrinsics module map -------------------------===
2  *
3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4  * See https://llvm.org/LICENSE.txt for license information.
5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6  *
7  *===-----------------------------------------------------------------------===
8  */
10 module _Builtin_intrinsics [system] [extern_c] {
11   explicit module altivec {
12     requires altivec
13     header "altivec.h"
14   }
16   explicit module arm {
17     requires arm
19     explicit module acle {
20       header "arm_acle.h"
21       export *
22     }
24     explicit module neon {
25       requires neon
26       header "arm_neon.h"
27       header "arm_fp16.h"
28       export *
29     }
31     explicit module sve {
32       requires sve
33       header "arm_sve.h"
34       export *
35     }
36   }
38   explicit module intel {
39     requires x86
40     export *
42     header "immintrin.h"
43     textual header "f16cintrin.h"
44     textual header "avxintrin.h"
45     textual header "avx2intrin.h"
46     textual header "avx512fintrin.h"
47     textual header "avx512erintrin.h"
48     textual header "fmaintrin.h"
50     header "x86intrin.h"
51     textual header "bmiintrin.h"
52     textual header "bmi2intrin.h"
53     textual header "lzcntintrin.h"
54     textual header "xopintrin.h"
55     textual header "fma4intrin.h"
56     textual header "mwaitxintrin.h"
57     textual header "clzerointrin.h"
58     textual header "wbnoinvdintrin.h"
59     textual header "cldemoteintrin.h"
60     textual header "waitpkgintrin.h"
61     textual header "movdirintrin.h"
62     textual header "pconfigintrin.h"
63     textual header "sgxintrin.h"
64     textual header "ptwriteintrin.h"
65     textual header "invpcidintrin.h"
67     textual header "__wmmintrin_aes.h"
68     textual header "__wmmintrin_pclmul.h"
70     explicit module mm_malloc {
71       requires !freestanding
72       header "mm_malloc.h"
73       export * // note: for <stdlib.h> dependency
74     }
76     explicit module cpuid {
77       requires gnuinlineasm
78       header "cpuid.h"
79     }
81     explicit module mmx {
82       header "mmintrin.h"
83     }
85     explicit module sse {
86       export mm_malloc
87       export mmx
88       export sse2 // note: for hackish <emmintrin.h> dependency
89       header "xmmintrin.h"
90     }
92     explicit module sse2 {
93       export sse
94       header "emmintrin.h"
95     }
97     explicit module sse3 {
98       export sse2
99       header "pmmintrin.h"
100     }
102     explicit module ssse3 {
103       export sse3
104       header "tmmintrin.h"
105     }
107     explicit module sse4_1 {
108       export ssse3
109       header "smmintrin.h"
110     }
112     explicit module sse4_2 {
113       export sse4_1
114       header "nmmintrin.h"
115     }
117     explicit module sse4a {
118       export sse3
119       header "ammintrin.h"
120     }
122     explicit module popcnt {
123       header "popcntintrin.h"
124     }
126     explicit module mm3dnow {
127       header "mm3dnow.h"
128     }
130     explicit module aes_pclmul {
131       header "wmmintrin.h"
132       export aes
133       export pclmul
134     }
135   }
137   explicit module systemz {
138     requires systemz
139     export *
141     header "s390intrin.h"
143     explicit module htm {
144       requires htm
145       header "htmintrin.h"
146       header "htmxlintrin.h"
147     }
149     explicit module zvector {
150       requires zvector, vx
151       header "vecintrin.h"
152     }
153   }
156 // Start -fbuiltin-headers-in-system-modules affected modules
158 // The following modules all ignore their top level headers
159 // when -fbuiltin-headers-in-system-modules is passed, and
160 // most of those headers join system modules when present.
162 // e.g. if -fbuiltin-headers-in-system-modules is passed, then
163 // float.h will not be in the _Builtin_float module (that module
164 // will be empty). If there is a system module that declares
165 // `header "float.h"`, then the builtin float.h will join
166 // that module. The system float.h (if present) will be treated
167 // as a textual header in the sytem module.
168 module _Builtin_float [system] {
169   header "float.h"
170   export *
173 module _Builtin_inttypes [system] {
174   header "inttypes.h"
175   export *
178 module _Builtin_iso646 [system] {
179   header "iso646.h"
180   export *
183 module _Builtin_limits [system] {
184   header "limits.h"
185   export *
188 module _Builtin_stdalign [system] {
189   header "stdalign.h"
190   export *
193 // When -fbuiltin-headers-in-system-modules is passed, only
194 // the top level headers are removed, the implementation headers
195 // will always be in their submodules. That means when stdarg.h
196 // is included, it will still import this module and make the
197 // appropriate submodules visible.
198 module _Builtin_stdarg [system] {
199   textual header "stdarg.h"
201   explicit module __gnuc_va_list {
202     header "__stdarg___gnuc_va_list.h"
203     export *
204   }
206   explicit module __va_copy {
207     header "__stdarg___va_copy.h"
208     export *
209   }
211   explicit module va_arg {
212     header "__stdarg_va_arg.h"
213     export *
214   }
216   explicit module va_copy {
217     header "__stdarg_va_copy.h"
218     export *
219   }
221   explicit module va_list {
222     header "__stdarg_va_list.h"
223     export *
224   }
227 module _Builtin_stdatomic [system] {
228   header "stdatomic.h"
229   export *
232 module _Builtin_stdbool [system] {
233   header "stdbool.h"
234   export *
237 module _Builtin_stddef [system] {
238   textual header "stddef.h"
240   explicit module max_align_t {
241     header "__stddef_max_align_t.h"
242     export *
243   }
245   explicit module null {
246     header "__stddef_null.h"
247     export *
248   }
250   explicit module nullptr_t {
251     header "__stddef_nullptr_t.h"
252     export *
253   }
255   explicit module offsetof {
256     header "__stddef_offsetof.h"
257     export *
258   }
260   explicit module ptrdiff_t {
261     header "__stddef_ptrdiff_t.h"
262     export *
263   }
265   explicit module rsize_t {
266     header "__stddef_rsize_t.h"
267     export *
268   }
270   explicit module size_t {
271     header "__stddef_size_t.h"
272     export *
273   }
275   explicit module unreachable {
276     header "__stddef_unreachable.h"
277     export *
278   }
280   explicit module wchar_t {
281     header "__stddef_wchar_t.h"
282     export *
283   }
286 /* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
287  * for compatibility, but must be explicitly requested. Therefore
288  * __stddef_wint_t.h is not part of _Builtin_stddef. */
289 module _Builtin_stddef_wint_t [system] {
290   header "__stddef_wint_t.h"
291   export *
294 module _Builtin_stdint [system] {
295   header "stdint.h"
296   export *
299 module _Builtin_stdnoreturn [system] {
300   header "stdnoreturn.h"
301   export *
304 module _Builtin_tgmath [system] {
305   header "tgmath.h"
306   export *
309 module _Builtin_unwind [system] {
310   header "unwind.h"
311   export *
313 // End -fbuiltin-headers-in-system-modules affected modules
315 module opencl_c {
316   requires opencl
317   header "opencl-c.h"
318   header "opencl-c-base.h"