summaryrefslogtreecommitdiff
path: root/libclc/generic/include/clc/clcfunc.h
blob: ad9eb23f2933315d2c219a97d192f77d1d43385d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define _CLC_OVERLOAD __attribute__((overloadable))
#define _CLC_DECL
#define _CLC_INLINE __attribute__((always_inline)) inline

// avoid inlines for SPIR-V related targets since we'll optimise later in the
// chain
#if defined(CLC_SPIRV) || defined(CLC_SPIRV64)
#define _CLC_DEF
#elif defined(CLC_CLSPV) || defined(CLC_CLSPV64)
#define _CLC_DEF                                                               \
  __attribute__((noinline)) __attribute__((assume("clspv_libclc_builtin")))
#else
#define _CLC_DEF __attribute__((always_inline))
#endif