[SDAG] Use BatchAAResults for querying alias analysis (AA) results (#123934)
[llvm-project.git] / clang / lib / Headers / module.modulemap
blobdcaf09e8f2c558237f9c3bee6450b039b84a9afa
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 "fmaintrin.h"
49     header "x86intrin.h"
50     textual header "bmiintrin.h"
51     textual header "bmi2intrin.h"
52     textual header "lzcntintrin.h"
53     textual header "xopintrin.h"
54     textual header "fma4intrin.h"
55     textual header "mwaitxintrin.h"
56     textual header "clzerointrin.h"
57     textual header "wbnoinvdintrin.h"
58     textual header "cldemoteintrin.h"
59     textual header "waitpkgintrin.h"
60     textual header "movdirintrin.h"
61     textual header "pconfigintrin.h"
62     textual header "sgxintrin.h"
63     textual header "ptwriteintrin.h"
64     textual header "invpcidintrin.h"
66     textual header "__wmmintrin_aes.h"
67     textual header "__wmmintrin_pclmul.h"
69     textual header "mm3dnow.h"
71     explicit module mm_malloc {
72       requires !freestanding
73       header "mm_malloc.h"
74       export * // note: for <stdlib.h> dependency
75     }
77     explicit module cpuid {
78       requires gnuinlineasm
79       header "cpuid.h"
80     }
82     explicit module mmx {
83       header "mmintrin.h"
84     }
86     explicit module sse {
87       export mm_malloc
88       export mmx
89       export sse2 // note: for hackish <emmintrin.h> dependency
90       header "xmmintrin.h"
91     }
93     explicit module sse2 {
94       export sse
95       header "emmintrin.h"
96     }
98     explicit module sse3 {
99       export sse2
100       header "pmmintrin.h"
101     }
103     explicit module ssse3 {
104       export sse3
105       header "tmmintrin.h"
106     }
108     explicit module sse4_1 {
109       export ssse3
110       header "smmintrin.h"
111     }
113     explicit module sse4_2 {
114       export sse4_1
115       header "nmmintrin.h"
116     }
118     explicit module sse4a {
119       export sse3
120       header "ammintrin.h"
121     }
123     explicit module popcnt {
124       header "popcntintrin.h"
125     }
127     explicit module aes_pclmul {
128       header "wmmintrin.h"
129       export aes
130       export pclmul
131     }
132   }
134   explicit module systemz {
135     requires systemz
136     export *
138     header "s390intrin.h"
140     explicit module htm {
141       requires htm
142       header "htmintrin.h"
143       header "htmxlintrin.h"
144     }
146     explicit module zvector {
147       requires zvector, vx
148       header "vecintrin.h"
149     }
150   }
153 // Start -fbuiltin-headers-in-system-modules affected modules
155 // The following modules all ignore their headers when
156 // -fbuiltin-headers-in-system-modules is passed, and many of
157 // those headers join system modules when present.
159 // e.g. if -fbuiltin-headers-in-system-modules is passed, then
160 // float.h will not be in the _Builtin_float module (that module
161 // will be empty). If there is a system module that declares
162 // `header "float.h"`, then the builtin float.h will join
163 // that module. The system float.h (if present) will be treated
164 // as a textual header in the sytem module.
165 module _Builtin_float [system] {
166   header "float.h"
167   export *
170 module _Builtin_inttypes [system] {
171   header "inttypes.h"
172   export *
175 module _Builtin_iso646 [system] {
176   header "iso646.h"
177   export *
180 module _Builtin_limits [system] {
181   header "limits.h"
182   export *
185 module _Builtin_stdalign [system] {
186   header "stdalign.h"
187   export *
190 module _Builtin_stdarg [system] {
191   textual header "stdarg.h"
193   explicit module __gnuc_va_list {
194     header "__stdarg___gnuc_va_list.h"
195     export *
196   }
198   explicit module __va_copy {
199     header "__stdarg___va_copy.h"
200     export *
201   }
203   explicit module header_macro {
204     header "__stdarg_header_macro.h"
205     export *
206   }
208   explicit module va_arg {
209     header "__stdarg_va_arg.h"
210     export *
211   }
213   explicit module va_copy {
214     header "__stdarg_va_copy.h"
215     export *
216   }
218   explicit module va_list {
219     header "__stdarg_va_list.h"
220     export *
221   }
224 module _Builtin_stdatomic [system] {
225   header "stdatomic.h"
226   export *
229 module _Builtin_stdbool [system] {
230   header "stdbool.h"
231   export *
234 module _Builtin_stddef [system] {
235   textual header "stddef.h"
237   explicit module header_macro {
238     header "__stddef_header_macro.h"
239     export *
240   }
241   // __stddef_max_align_t.h is always in this module, even if
242   // -fbuiltin-headers-in-system-modules is passed.
243   explicit module max_align_t {
244     header "__stddef_max_align_t.h"
245     export *
246   }
248   explicit module null {
249     header "__stddef_null.h"
250     export *
251   }
253   explicit module nullptr_t {
254     header "__stddef_nullptr_t.h"
255     export *
256   }
258   explicit module offsetof {
259     header "__stddef_offsetof.h"
260     export *
261   }
263   explicit module ptrdiff_t {
264     header "__stddef_ptrdiff_t.h"
265     export *
266   }
268   explicit module rsize_t {
269     header "__stddef_rsize_t.h"
270     export *
271   }
273   explicit module size_t {
274     header "__stddef_size_t.h"
275     export *
276   }
278   explicit module unreachable {
279     header "__stddef_unreachable.h"
280     export *
281   }
283   explicit module wchar_t {
284     header "__stddef_wchar_t.h"
285     export *
286   }
289 // wint_t is provided by <wchar.h> and not <stddef.h>. It's here
290 // for compatibility, but must be explicitly requested. Therefore
291 // __stddef_wint_t.h is not part of _Builtin_stddef. It is always in
292 // this module even if -fbuiltin-headers-in-system-modules is passed.
293 module _Builtin_stddef_wint_t [system] {
294   header "__stddef_wint_t.h"
295   export *
298 module _Builtin_stdint [system] {
299   header "stdint.h"
300   export *
303 module _Builtin_stdnoreturn [system] {
304   header "stdnoreturn.h"
305   export *
308 module _Builtin_tgmath [system] {
309   header "tgmath.h"
310   export *
313 module _Builtin_unwind [system] {
314   header "unwind.h"
315   export *
317 // End -fbuiltin-headers-in-system-modules affected modules
319 module opencl_c {
320   requires opencl
321   header "opencl-c.h"
322   header "opencl-c-base.h"
325 module ptrauth {
326   header "ptrauth.h"
327   export *