llvm-runtime-resources-darwin 0.0.0 → 22.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +229 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +994 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +284 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +522 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_hip_cmath.h +848 -0
  14. package/include/__clang_hip_libdevice_declares.h +340 -0
  15. package/include/__clang_hip_math.h +1405 -0
  16. package/include/__clang_hip_runtime_wrapper.h +165 -0
  17. package/include/__clang_hip_stdlib.h +43 -0
  18. package/include/__clang_spirv_builtins.h +217 -0
  19. package/include/__float_float.h +176 -0
  20. package/include/__float_header_macro.h +12 -0
  21. package/include/__float_infinity_nan.h +20 -0
  22. package/include/__stdarg___gnuc_va_list.h +13 -0
  23. package/include/__stdarg___va_copy.h +12 -0
  24. package/include/__stdarg_header_macro.h +12 -0
  25. package/include/__stdarg_va_arg.h +22 -0
  26. package/include/__stdarg_va_copy.h +12 -0
  27. package/include/__stdarg_va_list.h +13 -0
  28. package/include/__stddef_header_macro.h +12 -0
  29. package/include/__stddef_max_align_t.h +27 -0
  30. package/include/__stddef_null.h +29 -0
  31. package/include/__stddef_nullptr_t.h +29 -0
  32. package/include/__stddef_offsetof.h +17 -0
  33. package/include/__stddef_ptrdiff_t.h +20 -0
  34. package/include/__stddef_rsize_t.h +20 -0
  35. package/include/__stddef_size_t.h +20 -0
  36. package/include/__stddef_unreachable.h +21 -0
  37. package/include/__stddef_wchar_t.h +28 -0
  38. package/include/__stddef_wint_t.h +15 -0
  39. package/include/__wmmintrin_aes.h +140 -0
  40. package/include/__wmmintrin_pclmul.h +48 -0
  41. package/include/adcintrin.h +165 -0
  42. package/include/adxintrin.h +107 -0
  43. package/include/altivec.h +19364 -0
  44. package/include/amdgpuintrin.h +191 -0
  45. package/include/ammintrin.h +183 -0
  46. package/include/amo.h +131 -0
  47. package/include/amxavx512intrin.h +596 -0
  48. package/include/amxcomplexintrin.h +167 -0
  49. package/include/amxfp16intrin.h +93 -0
  50. package/include/amxfp8intrin.h +230 -0
  51. package/include/amxintrin.h +492 -0
  52. package/include/amxmovrsintrin.h +48 -0
  53. package/include/amxtf32intrin.h +108 -0
  54. package/include/andes_vector.h +16 -0
  55. package/include/arm64intr.h +35 -0
  56. package/include/arm_acle.h +865 -0
  57. package/include/arm_bf16.h +20 -0
  58. package/include/arm_cde.h +410 -0
  59. package/include/arm_cmse.h +217 -0
  60. package/include/arm_fp16.h +596 -0
  61. package/include/arm_mve.h +19187 -0
  62. package/include/arm_neon.h +74183 -0
  63. package/include/arm_neon_sve_bridge.h +182 -0
  64. package/include/arm_sme.h +3741 -0
  65. package/include/arm_sve.h +32278 -0
  66. package/include/arm_vector_types.h +432 -0
  67. package/include/armintr.h +31 -0
  68. package/include/avx10_2_512bf16intrin.h +568 -0
  69. package/include/avx10_2_512convertintrin.h +322 -0
  70. package/include/avx10_2_512minmaxintrin.h +127 -0
  71. package/include/avx10_2_512niintrin.h +314 -0
  72. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  73. package/include/avx10_2_512satcvtintrin.h +301 -0
  74. package/include/avx10_2bf16intrin.h +1094 -0
  75. package/include/avx10_2convertintrin.h +3257 -0
  76. package/include/avx10_2copyintrin.h +66 -0
  77. package/include/avx10_2minmaxintrin.h +232 -0
  78. package/include/avx10_2niintrin.h +409 -0
  79. package/include/avx10_2satcvtdsintrin.h +376 -0
  80. package/include/avx10_2satcvtintrin.h +312 -0
  81. package/include/avx2intrin.h +5191 -0
  82. package/include/avx512bf16intrin.h +292 -0
  83. package/include/avx512bitalgintrin.h +75 -0
  84. package/include/avx512bwintrin.h +1895 -0
  85. package/include/avx512cdintrin.h +112 -0
  86. package/include/avx512dqintrin.h +1350 -0
  87. package/include/avx512fintrin.h +9378 -0
  88. package/include/avx512fp16intrin.h +3355 -0
  89. package/include/avx512ifmaintrin.h +68 -0
  90. package/include/avx512ifmavlintrin.h +138 -0
  91. package/include/avx512vbmi2intrin.h +368 -0
  92. package/include/avx512vbmiintrin.h +98 -0
  93. package/include/avx512vbmivlintrin.h +179 -0
  94. package/include/avx512vlbf16intrin.h +527 -0
  95. package/include/avx512vlbitalgintrin.h +135 -0
  96. package/include/avx512vlbwintrin.h +3064 -0
  97. package/include/avx512vlcdintrin.h +202 -0
  98. package/include/avx512vldqintrin.h +1156 -0
  99. package/include/avx512vlfp16intrin.h +2090 -0
  100. package/include/avx512vlintrin.h +8083 -0
  101. package/include/avx512vlvbmi2intrin.h +710 -0
  102. package/include/avx512vlvnniintrin.h +313 -0
  103. package/include/avx512vlvp2intersectintrin.h +123 -0
  104. package/include/avx512vnniintrin.h +116 -0
  105. package/include/avx512vp2intersectintrin.h +77 -0
  106. package/include/avx512vpopcntdqintrin.h +62 -0
  107. package/include/avx512vpopcntdqvlintrin.h +105 -0
  108. package/include/avxifmaintrin.h +193 -0
  109. package/include/avxintrin.h +5064 -0
  110. package/include/avxneconvertintrin.h +484 -0
  111. package/include/avxvnniint16intrin.h +451 -0
  112. package/include/avxvnniint8intrin.h +454 -0
  113. package/include/avxvnniintrin.h +233 -0
  114. package/include/bmi2intrin.h +253 -0
  115. package/include/bmiintrin.h +604 -0
  116. package/include/builtins.h +19 -0
  117. package/include/cet.h +66 -0
  118. package/include/cetintrin.h +115 -0
  119. package/include/cldemoteintrin.h +36 -0
  120. package/include/clflushoptintrin.h +36 -0
  121. package/include/clwbintrin.h +38 -0
  122. package/include/clzerointrin.h +38 -0
  123. package/include/cmpccxaddintrin.h +70 -0
  124. package/include/cpuid.h +451 -0
  125. package/include/crc32intrin.h +100 -0
  126. package/include/cuda_wrappers/__utility/declval.h +28 -0
  127. package/include/cuda_wrappers/algorithm +116 -0
  128. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  129. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  130. package/include/cuda_wrappers/bits/c++config.h +61 -0
  131. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  132. package/include/cuda_wrappers/cmath +44 -0
  133. package/include/cuda_wrappers/complex +90 -0
  134. package/include/cuda_wrappers/new +108 -0
  135. package/include/emmintrin.h +4940 -0
  136. package/include/enqcmdintrin.h +63 -0
  137. package/include/f16cintrin.h +176 -0
  138. package/include/float.h +48 -0
  139. package/include/fma4intrin.h +220 -0
  140. package/include/fmaintrin.h +826 -0
  141. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  142. package/include/fxsrintrin.h +91 -0
  143. package/include/gfniintrin.h +238 -0
  144. package/include/gpuintrin.h +330 -0
  145. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  146. package/include/hexagon_protos.h +8439 -0
  147. package/include/hexagon_types.h +2628 -0
  148. package/include/hresetintrin.h +49 -0
  149. package/include/htmintrin.h +212 -0
  150. package/include/htmxlintrin.h +345 -0
  151. package/include/hvx_hexagon_protos.h +5399 -0
  152. package/include/ia32intrin.h +863 -0
  153. package/include/immintrin.h +595 -0
  154. package/include/intrin.h +491 -0
  155. package/include/intrin0.h +256 -0
  156. package/include/inttypes.h +101 -0
  157. package/include/invpcidintrin.h +23 -0
  158. package/include/iso646.h +31 -0
  159. package/include/keylockerintrin.h +518 -0
  160. package/include/larchintrin.h +260 -0
  161. package/include/lasxintrin.h +3999 -0
  162. package/include/limits.h +133 -0
  163. package/include/llvm_libc_wrappers/assert.h +32 -0
  164. package/include/llvm_libc_wrappers/ctype.h +28 -0
  165. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  166. package/include/llvm_libc_wrappers/stdio.h +52 -0
  167. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  168. package/include/llvm_libc_wrappers/string.h +28 -0
  169. package/include/llvm_libc_wrappers/time.h +28 -0
  170. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  171. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  172. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  173. package/include/lsxintrin.h +3752 -0
  174. package/include/lwpintrin.h +136 -0
  175. package/include/lzcntintrin.h +109 -0
  176. package/include/mm3dnow.h +22 -0
  177. package/include/mm_malloc.h +67 -0
  178. package/include/mmintrin.h +1541 -0
  179. package/include/module.modulemap +360 -0
  180. package/include/movdirintrin.h +49 -0
  181. package/include/movrs_avx10_2_512intrin.h +98 -0
  182. package/include/movrs_avx10_2intrin.h +174 -0
  183. package/include/movrsintrin.h +59 -0
  184. package/include/msa.h +573 -0
  185. package/include/mwaitxintrin.h +62 -0
  186. package/include/nmmintrin.h +20 -0
  187. package/include/nvptxintrin.h +219 -0
  188. package/include/opencl-c-base.h +758 -0
  189. package/include/opencl-c.h +18676 -0
  190. package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
  191. package/include/openmp_wrappers/cmath +132 -0
  192. package/include/openmp_wrappers/complex +55 -0
  193. package/include/openmp_wrappers/complex.h +35 -0
  194. package/include/openmp_wrappers/complex_cmath.h +393 -0
  195. package/include/openmp_wrappers/math.h +61 -0
  196. package/include/openmp_wrappers/new +48 -0
  197. package/include/pconfigintrin.h +40 -0
  198. package/include/pkuintrin.h +34 -0
  199. package/include/pmmintrin.h +302 -0
  200. package/include/popcntintrin.h +59 -0
  201. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  202. package/include/ppc_wrappers/bmiintrin.h +165 -0
  203. package/include/ppc_wrappers/emmintrin.h +2269 -0
  204. package/include/ppc_wrappers/immintrin.h +27 -0
  205. package/include/ppc_wrappers/mm_malloc.h +45 -0
  206. package/include/ppc_wrappers/mmintrin.h +1453 -0
  207. package/include/ppc_wrappers/nmmintrin.h +26 -0
  208. package/include/ppc_wrappers/pmmintrin.h +145 -0
  209. package/include/ppc_wrappers/smmintrin.h +683 -0
  210. package/include/ppc_wrappers/tmmintrin.h +453 -0
  211. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  212. package/include/ppc_wrappers/x86intrin.h +28 -0
  213. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  214. package/include/prfchiintrin.h +61 -0
  215. package/include/prfchwintrin.h +57 -0
  216. package/include/profile/InstrProfData.inc +1001 -0
  217. package/include/profile/instr_prof_interface.h +88 -0
  218. package/include/ptrauth.h +407 -0
  219. package/include/ptwriteintrin.h +37 -0
  220. package/include/raointintrin.h +203 -0
  221. package/include/rdpruintrin.h +57 -0
  222. package/include/rdseedintrin.h +105 -0
  223. package/include/riscv_bitmanip.h +195 -0
  224. package/include/riscv_corev_alu.h +128 -0
  225. package/include/riscv_crypto.h +170 -0
  226. package/include/riscv_mips.h +34 -0
  227. package/include/riscv_nds.h +89 -0
  228. package/include/riscv_ntlh.h +26 -0
  229. package/include/riscv_vector.h +422 -0
  230. package/include/rtmintrin.h +45 -0
  231. package/include/s390intrin.h +25 -0
  232. package/include/sanitizer/allocator_interface.h +106 -0
  233. package/include/sanitizer/asan_interface.h +348 -0
  234. package/include/sanitizer/common_interface_defs.h +544 -0
  235. package/include/sanitizer/coverage_interface.h +36 -0
  236. package/include/sanitizer/dfsan_interface.h +220 -0
  237. package/include/sanitizer/hwasan_interface.h +109 -0
  238. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  239. package/include/sanitizer/lsan_interface.h +89 -0
  240. package/include/sanitizer/msan_interface.h +135 -0
  241. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  242. package/include/sanitizer/rtsan_interface.h +75 -0
  243. package/include/sanitizer/scudo_interface.h +38 -0
  244. package/include/sanitizer/tsan_interface.h +316 -0
  245. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  246. package/include/sanitizer/ubsan_interface.h +34 -0
  247. package/include/serializeintrin.h +30 -0
  248. package/include/sgxintrin.h +60 -0
  249. package/include/sha512intrin.h +200 -0
  250. package/include/shaintrin.h +190 -0
  251. package/include/sifive_vector.h +174 -0
  252. package/include/sm3intrin.h +238 -0
  253. package/include/sm4evexintrin.h +32 -0
  254. package/include/sm4intrin.h +269 -0
  255. package/include/smmintrin.h +2352 -0
  256. package/include/spirvintrin.h +194 -0
  257. package/include/stdalign.h +24 -0
  258. package/include/stdarg.h +75 -0
  259. package/include/stdatomic.h +204 -0
  260. package/include/stdbool.h +39 -0
  261. package/include/stdckdint.h +42 -0
  262. package/include/stdcountof.h +15 -0
  263. package/include/stddef.h +139 -0
  264. package/include/stddefer.h +19 -0
  265. package/include/stdint.h +844 -0
  266. package/include/stdnoreturn.h +35 -0
  267. package/include/tbmintrin.h +128 -0
  268. package/include/tgmath.h +1368 -0
  269. package/include/tmmintrin.h +779 -0
  270. package/include/tsxldtrkintrin.h +56 -0
  271. package/include/uintrintrin.h +157 -0
  272. package/include/unwind.h +332 -0
  273. package/include/usermsrintrin.h +51 -0
  274. package/include/vadefs.h +51 -0
  275. package/include/vaesintrin.h +86 -0
  276. package/include/varargs.h +16 -0
  277. package/include/vecintrin.h +12868 -0
  278. package/include/velintrin.h +71 -0
  279. package/include/velintrin_approx.h +120 -0
  280. package/include/velintrin_gen.h +1257 -0
  281. package/include/vpclmulqdqintrin.h +30 -0
  282. package/include/waitpkgintrin.h +42 -0
  283. package/include/wasm_simd128.h +2143 -0
  284. package/include/wbnoinvdintrin.h +24 -0
  285. package/include/wmmintrin.h +23 -0
  286. package/include/x86gprintrin.h +49 -0
  287. package/include/x86intrin.h +35 -0
  288. package/include/xmmintrin.h +3175 -0
  289. package/include/xopintrin.h +780 -0
  290. package/include/xsavecintrin.h +84 -0
  291. package/include/xsaveintrin.h +63 -0
  292. package/include/xsaveoptintrin.h +34 -0
  293. package/include/xsavesintrin.h +44 -0
  294. package/include/xtestintrin.h +27 -0
  295. package/include/yvals_core.h +25 -0
  296. package/include/zos_wrappers/builtins.h +18 -0
  297. package/index.js +5 -0
  298. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  299. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  300. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  301. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  302. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  303. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  304. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  305. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  306. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  307. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  308. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  309. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  310. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  311. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  312. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  313. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  314. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  315. package/lib/darwin/libclang_rt.ios.a +0 -0
  316. package/lib/darwin/libclang_rt.iossim.a +0 -0
  317. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  318. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  319. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  320. package/lib/darwin/libclang_rt.osx.a +0 -0
  321. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  322. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  323. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  324. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  327. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  329. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  330. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  331. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  332. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  333. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  334. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  335. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  336. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  337. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  338. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  339. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  342. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  343. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  344. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  345. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  348. package/package.json +40 -1
  349. package/share/asan_ignorelist.txt +14 -0
  350. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,104 @@
1
+ /*===- __clang_openmp_device_functions.h - OpenMP device function declares -===
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
+ */
9
+
10
+ #ifndef __CLANG_OPENMP_DEVICE_FUNCTIONS_H__
11
+ #define __CLANG_OPENMP_DEVICE_FUNCTIONS_H__
12
+
13
+ #ifdef __cplusplus
14
+ extern "C" {
15
+ #endif
16
+
17
+ #ifdef __NVPTX__
18
+ #pragma omp begin declare variant match( \
19
+ device = {arch(nvptx, nvptx64)}, implementation = {extension(match_any)})
20
+
21
+ #pragma push_macro("__CUDA__")
22
+ #define __CUDA__
23
+ #define __OPENMP_NVPTX__
24
+
25
+ /// Include declarations for libdevice functions.
26
+ #include <__clang_cuda_libdevice_declares.h>
27
+
28
+ /// Provide definitions for these functions.
29
+ #include <__clang_cuda_device_functions.h>
30
+
31
+ #undef __OPENMP_NVPTX__
32
+ #pragma pop_macro("__CUDA__")
33
+
34
+ #pragma omp end declare variant
35
+ #endif
36
+
37
+ #ifdef __AMDGCN__
38
+ #pragma omp begin declare variant match(device = {arch(amdgcn)})
39
+
40
+ // Import types which will be used by __clang_hip_libdevice_declares.h
41
+ #ifndef __cplusplus
42
+ #include <stdint.h>
43
+ #endif
44
+
45
+ #define __OPENMP_AMDGCN__
46
+ #pragma push_macro("__device__")
47
+ #define __device__
48
+
49
+ /// Include declarations for libdevice functions.
50
+ #include <__clang_hip_libdevice_declares.h>
51
+
52
+ #pragma pop_macro("__device__")
53
+ #undef __OPENMP_AMDGCN__
54
+
55
+ #pragma omp end declare variant
56
+ #endif
57
+
58
+ #ifdef __cplusplus
59
+ } // extern "C"
60
+ #endif
61
+
62
+ // Ensure we make `_ZdlPv`, aka. `operator delete(void*)` available without the
63
+ // need to `include <new>` in C++ mode.
64
+ #ifdef __cplusplus
65
+
66
+ // We require malloc/free.
67
+ #include <cstdlib>
68
+
69
+ #pragma push_macro("OPENMP_NOEXCEPT")
70
+ #if __cplusplus >= 201103L
71
+ #define OPENMP_NOEXCEPT noexcept
72
+ #else
73
+ #define OPENMP_NOEXCEPT
74
+ #endif
75
+
76
+ // Device overrides for non-placement new and delete.
77
+ inline void *operator new(__SIZE_TYPE__ size) {
78
+ if (size == 0)
79
+ size = 1;
80
+ return ::malloc(size);
81
+ }
82
+
83
+ inline void *operator new[](__SIZE_TYPE__ size) { return ::operator new(size); }
84
+
85
+ inline void operator delete(void *ptr)OPENMP_NOEXCEPT { ::free(ptr); }
86
+
87
+ inline void operator delete[](void *ptr) OPENMP_NOEXCEPT {
88
+ ::operator delete(ptr);
89
+ }
90
+
91
+ // Sized delete, C++14 only.
92
+ #if __cplusplus >= 201402L
93
+ inline void operator delete(void *ptr, __SIZE_TYPE__ size)OPENMP_NOEXCEPT {
94
+ ::operator delete(ptr);
95
+ }
96
+ inline void operator delete[](void *ptr, __SIZE_TYPE__ size) OPENMP_NOEXCEPT {
97
+ ::operator delete(ptr);
98
+ }
99
+ #endif
100
+
101
+ #pragma pop_macro("OPENMP_NOEXCEPT")
102
+ #endif
103
+
104
+ #endif
@@ -0,0 +1,132 @@
1
+ /*===-- __clang_openmp_device_functions.h - OpenMP math declares -*- c++ -*-===
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
+ */
9
+
10
+ #ifndef __CLANG_OPENMP_CMATH_H__
11
+ #define __CLANG_OPENMP_CMATH_H__
12
+
13
+ #ifndef _OPENMP
14
+ #error "This file is for OpenMP compilation only."
15
+ #endif
16
+
17
+ #include_next <cmath>
18
+
19
+ // Make sure we include our math.h overlay, it probably happend already but we
20
+ // need to be sure.
21
+ #include <math.h>
22
+
23
+ // We (might) need cstdlib because __clang_cuda_cmath.h below declares `abs`
24
+ // which might live in cstdlib.
25
+ #include <cstdlib>
26
+
27
+ // We need limits because __clang_cuda_cmath.h below uses `std::numeric_limit`.
28
+ #include <limits>
29
+
30
+ #pragma omp begin declare variant match( \
31
+ device = {arch(nvptx, nvptx64)}, implementation = {extension(match_any, allow_templates)})
32
+
33
+ #define __CUDA__
34
+ #define __OPENMP_NVPTX__
35
+ #include <__clang_cuda_cmath.h>
36
+ #undef __OPENMP_NVPTX__
37
+ #undef __CUDA__
38
+
39
+ // Overloads not provided by the CUDA wrappers but by the CUDA system headers.
40
+ // Since we do not include the latter we define them ourselves.
41
+ #define __DEVICE__ static constexpr __attribute__((always_inline, nothrow))
42
+
43
+ __DEVICE__ float acosh(float __x) { return ::acoshf(__x); }
44
+ __DEVICE__ float asinh(float __x) { return ::asinhf(__x); }
45
+ __DEVICE__ float atanh(float __x) { return ::atanhf(__x); }
46
+ __DEVICE__ float cbrt(float __x) { return ::cbrtf(__x); }
47
+ __DEVICE__ float erf(float __x) { return ::erff(__x); }
48
+ __DEVICE__ float erfc(float __x) { return ::erfcf(__x); }
49
+ __DEVICE__ float exp2(float __x) { return ::exp2f(__x); }
50
+ __DEVICE__ float expm1(float __x) { return ::expm1f(__x); }
51
+ __DEVICE__ float fdim(float __x, float __y) { return ::fdimf(__x, __y); }
52
+ __DEVICE__ float hypot(float __x, float __y) { return ::hypotf(__x, __y); }
53
+ __DEVICE__ int ilogb(float __x) { return ::ilogbf(__x); }
54
+ __DEVICE__ float lgamma(float __x) { return ::lgammaf(__x); }
55
+ __DEVICE__ long long int llrint(float __x) { return ::llrintf(__x); }
56
+ __DEVICE__ long long int llround(float __x) { return ::llroundf(__x); }
57
+ __DEVICE__ float log1p(float __x) { return ::log1pf(__x); }
58
+ __DEVICE__ float log2(float __x) { return ::log2f(__x); }
59
+ __DEVICE__ float logb(float __x) { return ::logbf(__x); }
60
+ __DEVICE__ long int lrint(float __x) { return ::lrintf(__x); }
61
+ __DEVICE__ long int lround(float __x) { return ::lroundf(__x); }
62
+ __DEVICE__ float nextafter(float __x, float __y) {
63
+ return ::nextafterf(__x, __y);
64
+ }
65
+ __DEVICE__ float remainder(float __x, float __y) {
66
+ return ::remainderf(__x, __y);
67
+ }
68
+ __DEVICE__ float scalbln(float __x, long int __y) {
69
+ return ::scalblnf(__x, __y);
70
+ }
71
+ __DEVICE__ float scalbn(float __x, int __y) { return ::scalbnf(__x, __y); }
72
+ __DEVICE__ float tgamma(float __x) { return ::tgammaf(__x); }
73
+
74
+ #undef __DEVICE__
75
+
76
+ #pragma omp end declare variant
77
+
78
+ #ifdef __AMDGCN__
79
+ #pragma omp begin declare variant match(device = {arch(amdgcn)})
80
+
81
+ #pragma push_macro("__constant__")
82
+ #define __constant__ __attribute__((constant))
83
+ #define __OPENMP_AMDGCN__
84
+
85
+ #include <__clang_hip_cmath.h>
86
+
87
+ #pragma pop_macro("__constant__")
88
+ #undef __OPENMP_AMDGCN__
89
+
90
+ // Define overloads otherwise which are absent
91
+ #define __DEVICE__ static constexpr __attribute__((always_inline, nothrow))
92
+
93
+ __DEVICE__ float acos(float __x) { return ::acosf(__x); }
94
+ __DEVICE__ float acosh(float __x) { return ::acoshf(__x); }
95
+ __DEVICE__ float asin(float __x) { return ::asinf(__x); }
96
+ __DEVICE__ float asinh(float __x) { return ::asinhf(__x); }
97
+ __DEVICE__ float atan(float __x) { return ::atanf(__x); }
98
+ __DEVICE__ float atan2(float __x, float __y) { return ::atan2f(__x, __y); }
99
+ __DEVICE__ float atanh(float __x) { return ::atanhf(__x); }
100
+ __DEVICE__ float cbrt(float __x) { return ::cbrtf(__x); }
101
+ __DEVICE__ float cosh(float __x) { return ::coshf(__x); }
102
+ __DEVICE__ float erf(float __x) { return ::erff(__x); }
103
+ __DEVICE__ float erfc(float __x) { return ::erfcf(__x); }
104
+ __DEVICE__ float exp2(float __x) { return ::exp2f(__x); }
105
+ __DEVICE__ float expm1(float __x) { return ::expm1f(__x); }
106
+ __DEVICE__ float fdim(float __x, float __y) { return ::fdimf(__x, __y); }
107
+ __DEVICE__ float hypot(float __x, float __y) { return ::hypotf(__x, __y); }
108
+ __DEVICE__ int ilogb(float __x) { return ::ilogbf(__x); }
109
+ __DEVICE__ float ldexp(float __arg, int __exp) {
110
+ return ::ldexpf(__arg, __exp);
111
+ }
112
+ __DEVICE__ float lgamma(float __x) { return ::lgammaf(__x); }
113
+ __DEVICE__ float log1p(float __x) { return ::log1pf(__x); }
114
+ __DEVICE__ float logb(float __x) { return ::logbf(__x); }
115
+ __DEVICE__ float nextafter(float __x, float __y) {
116
+ return ::nextafterf(__x, __y);
117
+ }
118
+ __DEVICE__ float remainder(float __x, float __y) {
119
+ return ::remainderf(__x, __y);
120
+ }
121
+ __DEVICE__ float scalbn(float __x, int __y) { return ::scalbnf(__x, __y); }
122
+ __DEVICE__ float sinh(float __x) { return ::sinhf(__x); }
123
+ __DEVICE__ float tan(float __x) { return ::tanf(__x); }
124
+ __DEVICE__ float tanh(float __x) { return ::tanhf(__x); }
125
+ __DEVICE__ float tgamma(float __x) { return ::tgammaf(__x); }
126
+
127
+ #undef __DEVICE__
128
+
129
+ #pragma omp end declare variant
130
+ #endif // __AMDGCN__
131
+
132
+ #endif
@@ -0,0 +1,55 @@
1
+ /*===-- complex --- OpenMP complex wrapper for target regions --------- c++ -===
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
+ */
9
+
10
+ #ifndef __CLANG_OPENMP_COMPLEX__
11
+ #define __CLANG_OPENMP_COMPLEX__
12
+
13
+ #ifndef _OPENMP
14
+ #error "This file is for OpenMP compilation only."
15
+ #endif
16
+
17
+ // We require std::math functions in the complex builtins below.
18
+ #include <cmath>
19
+
20
+ #ifdef __NVPTX__
21
+ #define __OPENMP_NVPTX__
22
+ #include <__clang_cuda_complex_builtins.h>
23
+ #undef __OPENMP_NVPTX__
24
+ #endif // __NVPTX__
25
+
26
+ #ifdef __AMDGCN__
27
+ #define __OPENMP_AMDGCN__
28
+ #include <__clang_cuda_complex_builtins.h>
29
+ #undef __OPENMP_AMDGCN__
30
+ #endif // __AMDGCN__
31
+
32
+ #endif
33
+
34
+ // Grab the host header too.
35
+ #include_next <complex>
36
+
37
+ // If we are compiling against libc++, the macro _LIBCPP_STD_VER should be set
38
+ // after including <cmath> above. Since the complex header we use is a
39
+ // simplified version of the libc++, we don't need it in this case. If we
40
+ // compile against libstdc++, or any other standard library, we will overload
41
+ // the (hopefully template) functions in the <complex> header with the ones we
42
+ // got from libc++ which decomposes math functions, like `std::sin`, into
43
+ // arithmetic and calls to non-complex functions, all of which we can then
44
+ // handle.
45
+ #ifndef _LIBCPP_STD_VER
46
+
47
+ #pragma omp begin declare variant match( \
48
+ device = {arch(amdgcn, nvptx, nvptx64)}, \
49
+ implementation = {extension(match_any, allow_templates)})
50
+
51
+ #include <complex_cmath.h>
52
+
53
+ #pragma omp end declare variant
54
+
55
+ #endif // _LIBCPP_STD_VER
@@ -0,0 +1,35 @@
1
+ /*===-- complex --- OpenMP complex wrapper for target regions --------- c++ -===
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
+ */
9
+
10
+ #ifndef __CLANG_OPENMP_COMPLEX_H__
11
+ #define __CLANG_OPENMP_COMPLEX_H__
12
+
13
+ #ifndef _OPENMP
14
+ #error "This file is for OpenMP compilation only."
15
+ #endif
16
+
17
+ // We require math functions in the complex builtins below.
18
+ #include <math.h>
19
+
20
+ #ifdef __NVPTX__
21
+ #define __OPENMP_NVPTX__
22
+ #include <__clang_cuda_complex_builtins.h>
23
+ #undef __OPENMP_NVPTX__
24
+ #endif
25
+
26
+ #ifdef __AMDGCN__
27
+ #define __OPENMP_AMDGCN__
28
+ #include <__clang_cuda_complex_builtins.h>
29
+ #undef __OPENMP_AMDGCN__
30
+ #endif
31
+
32
+ #endif
33
+
34
+ // Grab the host header too.
35
+ #include_next <complex.h>