The SPIR spec states that all OpenCL built-in functions should be overloadable and mangled, to ensure consistency. Add the overload attribute to functions which were missing them: work dimensions, memory barriers and fences, and events. Reviewed By: tstellar, jenatali Differential Revision: https://reviews.llvm.org/D82078
15 lines
362 B
Common Lisp
15 lines
362 B
Common Lisp
#include <clc/clc.h>
|
|
|
|
#if __clang_major__ >= 8
|
|
#define CONST_AS __constant
|
|
#elif __clang_major__ >= 7
|
|
#define CONST_AS __attribute__((address_space(4)))
|
|
#else
|
|
#define CONST_AS __attribute__((address_space(2)))
|
|
#endif
|
|
|
|
_CLC_DEF _CLC_OVERLOAD uint get_work_dim(void) {
|
|
CONST_AS uint *ptr = (CONST_AS uint *)__builtin_amdgcn_implicitarg_ptr();
|
|
return ptr[0];
|
|
}
|