@cpp-linter/clang-tidy-win32-x64 12.0.1 → 14.0.0
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.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_device_functions.h +174 -102
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +68 -8
- package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_cmath.h +272 -94
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_math.h +48 -2
- package/lib/clang/14.0.0/include/__clang_hip_runtime_wrapper.h +137 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/altivec.h +1348 -496
- package/lib/clang/{12.0.1 → 14.0.0}/include/ammintrin.h +4 -0
- package/lib/clang/14.0.0/include/amxintrin.h +494 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_acle.h +61 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_neon.h +5544 -4634
- package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_sve.h +11791 -5896
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx2intrin.h +181 -181
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bf16intrin.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bwintrin.h +71 -71
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512erintrin.h +102 -102
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512fintrin.h +1750 -1606
- package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlintrin.h +563 -563
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/avxintrin.h +189 -192
- package/lib/clang/14.0.0/include/builtins.h +16 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cetintrin.h +10 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cpuid.h +2 -1
- package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/complex +8 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/emmintrin.h +21 -17
- package/lib/clang/{12.0.1 → 14.0.0}/include/f16cintrin.h +4 -4
- package/lib/clang/{12.0.1 → 14.0.0}/include/float.h +15 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/gfniintrin.h +47 -48
- package/lib/clang/14.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
- package/lib/clang/14.0.0/include/hexagon_protos.h +8439 -0
- package/lib/clang/14.0.0/include/hexagon_types.h +2621 -0
- package/lib/clang/14.0.0/include/hvx_hexagon_protos.h +5183 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/ia32intrin.h +6 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/immintrin.h +31 -13
- package/lib/clang/{12.0.1 → 14.0.0}/include/intrin.h +63 -19
- package/lib/clang/{12.0.1 → 14.0.0}/include/keylockerintrin.h +32 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/limits.h +20 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/mmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/nmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c-base.h +206 -7
- package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c.h +2187 -797
- package/lib/clang/14.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/cmath +54 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex +11 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex.h +9 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/new +2 -24
- package/lib/clang/{12.0.1 → 14.0.0}/include/pmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/prfchwintrin.h +5 -2
- package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/smmintrin.h +80 -159
- package/lib/clang/{12.0.1 → 14.0.0}/include/stdatomic.h +14 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/stdint.h +168 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/tmmintrin.h +10 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/uintrintrin.h +7 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/unwind.h +2 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/vaesintrin.h +22 -21
- package/lib/clang/{12.0.1 → 14.0.0}/include/vecintrin.h +206 -77
- package/lib/clang/{12.0.1 → 14.0.0}/include/vpclmulqdqintrin.h +8 -6
- package/lib/clang/14.0.0/include/wasm_simd128.h +1877 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/wmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/x86gprintrin.h +12 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/xmmintrin.h +9 -5
- package/lib/clang/{12.0.1 → 14.0.0}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
- package/lib/clang/12.0.1/include/amxintrin.h +0 -278
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
- package/lib/clang/12.0.1/include/wasm_simd128.h +0 -1167
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/adxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm64intr.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_bf16.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cde.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cmse.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_fp16.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_mve.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/armintr.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/bmiintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cet.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clwbintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clzerointrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fma4intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fmaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/hresetintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/htmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/inttypes.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/iso646.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/lwpintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mm3dnow.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/module.modulemap +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/movdirintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/msa.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/pkuintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/popcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/rtmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/s390intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/serializeintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/sgxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/shaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdalign.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdarg.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdbool.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stddef.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tbmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tgmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/vadefs.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/varargs.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/x86intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xtestintrin.h +0 -0
|
@@ -483,4 +483,36 @@ inline __device__ unsigned __funnelshift_rc(unsigned low32, unsigned high32,
|
|
|
483
483
|
|
|
484
484
|
#endif // !defined(__CUDA_ARCH__) || __CUDA_ARCH__ >= 320
|
|
485
485
|
|
|
486
|
+
#if CUDA_VERSION >= 11000
|
|
487
|
+
extern "C" {
|
|
488
|
+
__device__ inline size_t __nv_cvta_generic_to_global_impl(const void *__ptr) {
|
|
489
|
+
return (size_t)(void __attribute__((address_space(1))) *)__ptr;
|
|
490
|
+
}
|
|
491
|
+
__device__ inline size_t __nv_cvta_generic_to_shared_impl(const void *__ptr) {
|
|
492
|
+
return (size_t)(void __attribute__((address_space(3))) *)__ptr;
|
|
493
|
+
}
|
|
494
|
+
__device__ inline size_t __nv_cvta_generic_to_constant_impl(const void *__ptr) {
|
|
495
|
+
return (size_t)(void __attribute__((address_space(4))) *)__ptr;
|
|
496
|
+
}
|
|
497
|
+
__device__ inline size_t __nv_cvta_generic_to_local_impl(const void *__ptr) {
|
|
498
|
+
return (size_t)(void __attribute__((address_space(5))) *)__ptr;
|
|
499
|
+
}
|
|
500
|
+
__device__ inline void *__nv_cvta_global_to_generic_impl(size_t __ptr) {
|
|
501
|
+
return (void *)(void __attribute__((address_space(1))) *)__ptr;
|
|
502
|
+
}
|
|
503
|
+
__device__ inline void *__nv_cvta_shared_to_generic_impl(size_t __ptr) {
|
|
504
|
+
return (void *)(void __attribute__((address_space(3))) *)__ptr;
|
|
505
|
+
}
|
|
506
|
+
__device__ inline void *__nv_cvta_constant_to_generic_impl(size_t __ptr) {
|
|
507
|
+
return (void *)(void __attribute__((address_space(4))) *)__ptr;
|
|
508
|
+
}
|
|
509
|
+
__device__ inline void *__nv_cvta_local_to_generic_impl(size_t __ptr) {
|
|
510
|
+
return (void *)(void __attribute__((address_space(5))) *)__ptr;
|
|
511
|
+
}
|
|
512
|
+
__device__ inline uint32_t __nvvm_get_smem_pointer(void *__ptr) {
|
|
513
|
+
return __nv_cvta_generic_to_shared_impl(__ptr);
|
|
514
|
+
}
|
|
515
|
+
} // extern "C"
|
|
516
|
+
#endif // CUDA_VERSION >= 11000
|
|
517
|
+
|
|
486
518
|
#endif // defined(__CLANG_CUDA_INTRINSICS_H__)
|
|
@@ -16,6 +16,7 @@ extern "C" {
|
|
|
16
16
|
|
|
17
17
|
#if defined(__OPENMP_NVPTX__)
|
|
18
18
|
#define __DEVICE__
|
|
19
|
+
#pragma omp begin assumes ext_spmd_amenable no_openmp
|
|
19
20
|
#elif defined(__CUDA__)
|
|
20
21
|
#define __DEVICE__ __device__
|
|
21
22
|
#endif
|
|
@@ -456,6 +457,11 @@ __DEVICE__ double __nv_y1(double __a);
|
|
|
456
457
|
__DEVICE__ float __nv_y1f(float __a);
|
|
457
458
|
__DEVICE__ float __nv_ynf(int __a, float __b);
|
|
458
459
|
__DEVICE__ double __nv_yn(int __a, double __b);
|
|
460
|
+
|
|
461
|
+
#if defined(__OPENMP_NVPTX__)
|
|
462
|
+
#pragma omp end assumes ext_spmd_amenable no_openmp
|
|
463
|
+
#endif
|
|
464
|
+
|
|
459
465
|
#if defined(__cplusplus)
|
|
460
466
|
} // extern "C"
|
|
461
467
|
#endif
|
|
@@ -166,6 +166,8 @@ __DEVICE__ long long llrint(double __a) { return __nv_llrint(__a); }
|
|
|
166
166
|
__DEVICE__ long long llrintf(float __a) { return __nv_llrintf(__a); }
|
|
167
167
|
__DEVICE__ long long llround(double __a) { return __nv_llround(__a); }
|
|
168
168
|
__DEVICE__ long long llroundf(float __a) { return __nv_llroundf(__a); }
|
|
169
|
+
__DEVICE__ double round(double __a) { return __nv_round(__a); }
|
|
170
|
+
__DEVICE__ float roundf(float __a) { return __nv_roundf(__a); }
|
|
169
171
|
__DEVICE__ double log(double __a) { return __nv_log(__a); }
|
|
170
172
|
__DEVICE__ double log10(double __a) { return __nv_log10(__a); }
|
|
171
173
|
__DEVICE__ float log10f(float __a) { return __nv_log10f(__a); }
|
|
@@ -270,8 +272,6 @@ __DEVICE__ float rnorm4df(float __a, float __b, float __c, float __d) {
|
|
|
270
272
|
__DEVICE__ float rnormf(int __dim, const float *__t) {
|
|
271
273
|
return __nv_rnormf(__dim, __t);
|
|
272
274
|
}
|
|
273
|
-
__DEVICE__ double round(double __a) { return __nv_round(__a); }
|
|
274
|
-
__DEVICE__ float roundf(float __a) { return __nv_roundf(__a); }
|
|
275
275
|
__DEVICE__ double rsqrt(double __a) { return __nv_rsqrt(__a); }
|
|
276
276
|
__DEVICE__ float rsqrtf(float __a) { return __nv_rsqrtf(__a); }
|
|
277
277
|
__DEVICE__ double scalbn(double __a, int __b) { return __nv_scalbn(__a, __b); }
|
|
@@ -345,4 +345,4 @@ __DEVICE__ float ynf(int __a, float __b) { return __nv_ynf(__a, __b); }
|
|
|
345
345
|
#pragma pop_macro("__DEVICE_VOID__")
|
|
346
346
|
#pragma pop_macro("__FAST_OR_SLOW")
|
|
347
347
|
|
|
348
|
-
#endif //
|
|
348
|
+
#endif // __CLANG_CUDA_MATH_H__
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
#include <cmath>
|
|
42
42
|
#include <cstdlib>
|
|
43
43
|
#include <stdlib.h>
|
|
44
|
+
#include <string.h>
|
|
44
45
|
#undef __CUDACC__
|
|
45
46
|
|
|
46
47
|
// Preserve common macros that will be changed below by us or by CUDA
|
|
@@ -64,9 +65,9 @@
|
|
|
64
65
|
#endif
|
|
65
66
|
|
|
66
67
|
// Make largest subset of device functions available during host
|
|
67
|
-
// compilation
|
|
68
|
+
// compilation.
|
|
68
69
|
#ifndef __CUDA_ARCH__
|
|
69
|
-
#define __CUDA_ARCH__
|
|
70
|
+
#define __CUDA_ARCH__ 9999
|
|
70
71
|
#endif
|
|
71
72
|
|
|
72
73
|
#include "__clang_cuda_builtin_vars.h"
|
|
@@ -205,11 +206,6 @@ inline __host__ double __signbitd(double x) {
|
|
|
205
206
|
#endif
|
|
206
207
|
|
|
207
208
|
#if CUDA_VERSION >= 9000
|
|
208
|
-
// CUDA-9.2 needs host-side memcpy for some host functions in
|
|
209
|
-
// device_functions.hpp
|
|
210
|
-
#if CUDA_VERSION >= 9020
|
|
211
|
-
#include <string.h>
|
|
212
|
-
#endif
|
|
213
209
|
#include "crt/math_functions.hpp"
|
|
214
210
|
#else
|
|
215
211
|
#include "math_functions.hpp"
|
|
@@ -275,7 +271,38 @@ static inline __device__ void __brkpt(int __c) { __brkpt(); }
|
|
|
275
271
|
#undef __CUDABE__
|
|
276
272
|
#endif
|
|
277
273
|
#include "sm_20_atomic_functions.hpp"
|
|
274
|
+
// Predicate functions used in `__builtin_assume` need to have no side effect.
|
|
275
|
+
// However, sm_20_intrinsics.hpp doesn't define them with neither pure nor
|
|
276
|
+
// const attribute. Rename definitions from sm_20_intrinsics.hpp and re-define
|
|
277
|
+
// them as pure ones.
|
|
278
|
+
#pragma push_macro("__isGlobal")
|
|
279
|
+
#pragma push_macro("__isShared")
|
|
280
|
+
#pragma push_macro("__isConstant")
|
|
281
|
+
#pragma push_macro("__isLocal")
|
|
282
|
+
#define __isGlobal __ignored_cuda___isGlobal
|
|
283
|
+
#define __isShared __ignored_cuda___isShared
|
|
284
|
+
#define __isConstant __ignored_cuda___isConstant
|
|
285
|
+
#define __isLocal __ignored_cuda___isLocal
|
|
278
286
|
#include "sm_20_intrinsics.hpp"
|
|
287
|
+
#pragma pop_macro("__isGlobal")
|
|
288
|
+
#pragma pop_macro("__isShared")
|
|
289
|
+
#pragma pop_macro("__isConstant")
|
|
290
|
+
#pragma pop_macro("__isLocal")
|
|
291
|
+
#pragma push_macro("__DEVICE__")
|
|
292
|
+
#define __DEVICE__ static __device__ __forceinline__ __attribute__((const))
|
|
293
|
+
__DEVICE__ unsigned int __isGlobal(const void *p) {
|
|
294
|
+
return __nvvm_isspacep_global(p);
|
|
295
|
+
}
|
|
296
|
+
__DEVICE__ unsigned int __isShared(const void *p) {
|
|
297
|
+
return __nvvm_isspacep_shared(p);
|
|
298
|
+
}
|
|
299
|
+
__DEVICE__ unsigned int __isConstant(const void *p) {
|
|
300
|
+
return __nvvm_isspacep_const(p);
|
|
301
|
+
}
|
|
302
|
+
__DEVICE__ unsigned int __isLocal(const void *p) {
|
|
303
|
+
return __nvvm_isspacep_local(p);
|
|
304
|
+
}
|
|
305
|
+
#pragma pop_macro("__DEVICE__")
|
|
279
306
|
#include "sm_32_atomic_functions.hpp"
|
|
280
307
|
|
|
281
308
|
// Don't include sm_30_intrinsics.h and sm_32_intrinsics.h. These define the
|
|
@@ -330,6 +357,34 @@ static inline __device__ void __brkpt(int __c) { __brkpt(); }
|
|
|
330
357
|
|
|
331
358
|
#pragma pop_macro("__host__")
|
|
332
359
|
|
|
360
|
+
// __clang_cuda_texture_intrinsics.h must be included first in order to provide
|
|
361
|
+
// implementation for __nv_tex_surf_handler that CUDA's headers depend on.
|
|
362
|
+
// The implementation requires c++11 and only works with CUDA-9 or newer.
|
|
363
|
+
#if __cplusplus >= 201103L && CUDA_VERSION >= 9000
|
|
364
|
+
// clang-format off
|
|
365
|
+
#include <__clang_cuda_texture_intrinsics.h>
|
|
366
|
+
// clang-format on
|
|
367
|
+
#else
|
|
368
|
+
#if CUDA_VERSION >= 9000
|
|
369
|
+
// Provide a hint that texture support needs C++11.
|
|
370
|
+
template <typename T> struct __nv_tex_needs_cxx11 {
|
|
371
|
+
const static bool value = false;
|
|
372
|
+
};
|
|
373
|
+
template <class T>
|
|
374
|
+
__host__ __device__ void __nv_tex_surf_handler(const char *name, T *ptr,
|
|
375
|
+
cudaTextureObject_t obj,
|
|
376
|
+
float x) {
|
|
377
|
+
_Static_assert(__nv_tex_needs_cxx11<T>::value,
|
|
378
|
+
"Texture support requires C++11");
|
|
379
|
+
}
|
|
380
|
+
#else
|
|
381
|
+
// Textures in CUDA-8 and older are not supported by clang.There's no
|
|
382
|
+
// convenient way to intercept texture use in these versions, so we can't
|
|
383
|
+
// produce a meaningful error. The source code that attempts to use textures
|
|
384
|
+
// will continue to fail as it does now.
|
|
385
|
+
#endif // CUDA_VERSION
|
|
386
|
+
#endif // __cplusplus >= 201103L && CUDA_VERSION >= 9000
|
|
387
|
+
#include "texture_fetch_functions.h"
|
|
333
388
|
#include "texture_indirect_functions.h"
|
|
334
389
|
|
|
335
390
|
// Restore state of __CUDA_ARCH__ and __THROW we had on entry.
|
|
@@ -349,9 +404,14 @@ extern "C" {
|
|
|
349
404
|
__device__ int vprintf(const char *, const char *);
|
|
350
405
|
__device__ void free(void *) __attribute((nothrow));
|
|
351
406
|
__device__ void *malloc(size_t) __attribute((nothrow)) __attribute__((malloc));
|
|
407
|
+
|
|
408
|
+
// __assertfail() used to have a `noreturn` attribute. Unfortunately that
|
|
409
|
+
// contributed to triggering the longstanding bug in ptxas when assert was used
|
|
410
|
+
// in sufficiently convoluted code. See
|
|
411
|
+
// https://bugs.llvm.org/show_bug.cgi?id=27738 for the details.
|
|
352
412
|
__device__ void __assertfail(const char *__message, const char *__file,
|
|
353
413
|
unsigned __line, const char *__function,
|
|
354
|
-
size_t __charSize)
|
|
414
|
+
size_t __charSize);
|
|
355
415
|
|
|
356
416
|
// In order for standard assert() macro on linux to work we need to
|
|
357
417
|
// provide device-side __assert_fail()
|