llvm-project/clang/lib/Headers
Artem Belevich 4e192df778 [cuda] Added support for CUDA built-in variables.
Added cuda_builtin_vars.h which implements built-in CUDA variables
using __declattr(property).

Fields of built-in variables (except for warpSize) are implemented
using __declattr(property) which replaces read/write of a member field
with a call to a getter/setter member function, in this case with
appropriate NVPTX builtin.

Added a test case to check diagnostics on attempt to construct or
improperly access a built-in variable.

Differential Revision: http://reviews.llvm.org/D9064

llvm-svn: 235448
2015-04-21 22:14:13 +00:00
..
CMakeLists.txt [cuda] Added support for CUDA built-in variables. 2015-04-21 22:14:13 +00:00
Intrin.h Headers: Don't use attribute keywords which aren't reserved 2015-02-04 00:26:10 +00:00
Makefile Rename lib/Headers/module.map to module.modulemap 2014-04-17 00:52:48 +00:00
__stddef_max_align_t.h Restore the libc++ definition of max_align_t on Apple platforms 2015-02-24 01:06:22 +00:00
__wmmintrin_aes.h
__wmmintrin_pclmul.h
adxintrin.h [x86] Fixed argument types in intrinsics: 2014-09-24 06:45:23 +00:00
altivec.h Add builtins for the 64-bit vector integer arithmetic instructions added in POWER8. 2015-03-11 15:57:19 +00:00
ammintrin.h
arm_acle.h Headers: Don't use attribute keywords which aren't reserved 2015-02-04 00:26:10 +00:00
avx2intrin.h _mm256_blend_epi16 is being cast to __m256d instead of __m256i. Fixing this. 2015-04-10 02:39:45 +00:00
avx512bwintrin.h Headers: Don't use attribute keywords which aren't reserved 2015-02-04 00:26:10 +00:00
avx512erintrin.h [X86] Add the AVX512 exp2a23 intrinsics. 2015-02-01 21:34:11 +00:00
avx512fintrin.h AVX-512: added clang intrinsics for logical and, or xor for 512 bits 2015-04-01 06:54:16 +00:00
avx512vlbwintrin.h [X86] Add intrinsics for AVX512 128 and 256 bit integer comparison of word and byte vectors. 2015-01-27 09:16:29 +00:00
avx512vlintrin.h [X86] Add more of the AVX512 integer comparision intrinsics. This adds 128 and 256 bit vectors of dwords and qwords. 2015-01-26 08:11:49 +00:00
avxintrin.h Replace second (hopefully unused) access of macro input argument with zero vector to be safer. 2015-03-12 17:23:46 +00:00
bmi2intrin.h
bmiintrin.h Avoid undefined behavior in the x86 bmi header file by explicitly checking for 0 before calling __builtin_ctz. Without this the optimizers may take advantage of the undefined behavior and produce incorrect results. LLVM itself still needs to be taught to merge the zero check into the llvm.cttz with defined zero behavior. 2014-11-01 22:50:54 +00:00
cpuid.h Fix trailing commas in AMD define. 2014-10-01 21:22:17 +00:00
cuda_builtin_vars.h [cuda] Added support for CUDA built-in variables. 2015-04-21 22:14:13 +00:00
emmintrin.h [X86] Add _mm_bslli_si128 and _mm_bsrli_si128 as aliases of _mm_slli_si128 and _mm_srli_si128. This matches Intel documentation and gcc. 2015-02-13 06:04:45 +00:00
f16cintrin.h Remove some stray underscores from copyright block. Fix first line length to match length of the one after the copyright block. 2013-09-27 03:57:18 +00:00
float.h <float.h>: Don't seek #include_next if -ffreestanding for targeting mingw. 2014-10-22 01:25:49 +00:00
fma4intrin.h
fmaintrin.h
htmintrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
htmxlintrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
ia32intrin.h [x86] Add Clang support for intrinsic __rdpmc. 2014-06-30 18:23:58 +00:00
immintrin.h Add FSGSBASE intrinsics to x86 intrinsic headers. 2014-11-03 06:51:41 +00:00
iso646.h
limits.h Fix two pedantic issues with our builtin headers. The __STDC_VERSION__ 2014-02-19 23:38:18 +00:00
lzcntintrin.h Add _lzcnt_u32 and _lzcnt_u64 to lzcntintrin.h to match Intel documentation names for these intrinsics. 2014-11-01 22:50:57 +00:00
mm3dnow.h Add PRFCHW intrinsic support 2013-03-26 17:52:08 +00:00
mm_malloc.h
mmintrin.h
module.modulemap [SystemZ] Add header files to Makefile / module.modulemap 2015-04-01 14:15:35 +00:00
nmmintrin.h
pmmintrin.h
popcntintrin.h
prfchwintrin.h Add include guards to prfchwintrin.h. 2013-05-09 15:07:39 +00:00
rdseedintrin.h Add missing include guards into headers in lib/Headers. While it may appear 2013-07-14 05:41:45 +00:00
rtmintrin.h Add missing include guards into headers in lib/Headers. While it may appear 2013-07-14 05:41:45 +00:00
s390intrin.h [SystemZ] Support transactional execution on zEC12 2015-04-01 12:54:25 +00:00
shaintrin.h [x86] Also add the missing type casts on the returns in the sha 2014-12-27 11:50:51 +00:00
smmintrin.h Patched clang to emit x86 blends as shufflevectors. 2014-05-13 02:37:02 +00:00
stdalign.h libstdc++'s <cstdalign> #includes <stdalign.h> and expects it to guard against 2013-02-21 02:17:58 +00:00
stdarg.h Added standard macro guard. In case __GNUC_VA_LIST was not 2014-07-02 15:25:03 +00:00
stdatomic.h Don't use BCPL comments here, in case someone wants to use <stdatomic.h> from C89 mode. 2015-01-29 03:34:39 +00:00
stdbool.h
stddef.h Fix interaction of max_align_t and modules. 2014-10-03 00:31:35 +00:00
stdint.h Change __INTx_TYPE__ to be always signed. This changes the value for 2014-07-28 21:06:22 +00:00
stdnoreturn.h
tbmintrin.h Use logical/arithmetic operations instead of builtins in tbmintrin.h. This way we can remove the intrinsic support from the backend. 2013-10-05 17:08:42 +00:00
tgmath.h Fix the return type of the complex creal functions. Patch by YunZhong Gao, modified to use _Static_assert and to check __STDC_HOSTED__ by me. 2013-05-09 17:41:19 +00:00
tmmintrin.h
unwind.h Headers: Don't use attribute keywords which aren't reserved 2015-02-04 00:26:10 +00:00
vadefs.h Intercept __crt_va_* used by MSVC "14" 2014-11-20 22:44:03 +00:00
varargs.h
wmmintrin.h
x86intrin.h Replace a few // comments with /**/ comments in headers, for consistency. 2014-07-08 18:29:27 +00:00
xmmintrin.h [x86] Add the (v)cmpps/pd/ss/sd builtins to match gcc. Use them in the sse intrinsic files. 2014-12-27 06:59:57 +00:00
xopintrin.h xopintrin.h: Add wrappers for all flavors of _mm_com. 2013-05-09 15:07:46 +00:00