Skip to content

Commit 51d3c20

Browse files
authored
[SYCL] Move definitions to the reserved name space. (#2667)
To avoid conflicts with user definitions we use underscore prefix reserved for compiler needs.
1 parent 6336913 commit 51d3c20

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+824
-845
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3757,12 +3757,12 @@ void SYCLIntegrationHeader::emit(raw_ostream &O) {
37573757
Printer.Visit(K.NameType);
37583758
O << "> {\n";
37593759
}
3760-
O << " DLL_LOCAL\n";
3760+
O << " __SYCL_DLL_LOCAL\n";
37613761
O << " static constexpr const char* getName() { return \"" << K.Name
37623762
<< "\"; }\n";
3763-
O << " DLL_LOCAL\n";
3763+
O << " __SYCL_DLL_LOCAL\n";
37643764
O << " static constexpr unsigned getNumParams() { return " << N << "; }\n";
3765-
O << " DLL_LOCAL\n";
3765+
O << " __SYCL_DLL_LOCAL\n";
37663766
O << " static constexpr const kernel_param_desc_t& ";
37673767
O << "getParamDesc(unsigned i) {\n";
37683768
O << " return kernel_signatures[i+" << CurStart << "];\n";

sycl/include/CL/__spirv/spirv_ops.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ extern SYCL_EXTERNAL TempRetT __spirv_ImageSampleExplicitLod(SampledType,
5151
TempArgT, int,
5252
float);
5353

54-
#define OpGroupAsyncCopyGlobalToLocal __spirv_GroupAsyncCopy
55-
#define OpGroupAsyncCopyLocalToGlobal __spirv_GroupAsyncCopy
54+
#define __SYCL_OpGroupAsyncCopyGlobalToLocal __spirv_GroupAsyncCopy
55+
#define __SYCL_OpGroupAsyncCopyLocalToGlobal __spirv_GroupAsyncCopy
5656

5757
// Atomic SPIR-V builtins
5858
#define __SPIRV_ATOMIC_LOAD(AS, Type) \
@@ -522,9 +522,9 @@ __spirv_ocl_prefetch(const __attribute__((opencl_global)) char *Ptr,
522522

523523
template <typename dataT>
524524
__SYCL_CONVERGENT__ extern __ocl_event_t
525-
OpGroupAsyncCopyGlobalToLocal(__spv::Scope::Flag, dataT *Dest, dataT *Src,
526-
size_t NumElements, size_t Stride,
527-
__ocl_event_t) noexcept {
525+
__SYCL_OpGroupAsyncCopyGlobalToLocal(__spv::Scope::Flag, dataT *Dest,
526+
dataT *Src, size_t NumElements,
527+
size_t Stride, __ocl_event_t) noexcept {
528528
for (size_t i = 0; i < NumElements; i++) {
529529
Dest[i] = Src[i * Stride];
530530
}
@@ -534,9 +534,9 @@ OpGroupAsyncCopyGlobalToLocal(__spv::Scope::Flag, dataT *Dest, dataT *Src,
534534

535535
template <typename dataT>
536536
__SYCL_CONVERGENT__ extern __ocl_event_t
537-
OpGroupAsyncCopyLocalToGlobal(__spv::Scope::Flag, dataT *Dest, dataT *Src,
538-
size_t NumElements, size_t Stride,
539-
__ocl_event_t) noexcept {
537+
__SYCL_OpGroupAsyncCopyLocalToGlobal(__spv::Scope::Flag, dataT *Dest,
538+
dataT *Src, size_t NumElements,
539+
size_t Stride, __ocl_event_t) noexcept {
540540
for (size_t i = 0; i < NumElements; i++) {
541541
Dest[i * Stride] = Src[i];
542542
}

sycl/include/CL/sycl/ONEAPI/experimental/builtins.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
#include <CL/__spirv/spirv_ops.hpp>
1212

1313
#ifdef __SYCL_DEVICE_ONLY__
14-
#define CONSTANT_AS __attribute__((opencl_constant))
14+
#define __SYCL_CONSTANT_AS __attribute__((opencl_constant))
1515
#else
16-
#define CONSTANT_AS
16+
#define __SYCL_CONSTANT_AS
1717
#endif
1818

1919
__SYCL_INLINE_NAMESPACE(cl) {
@@ -59,7 +59,7 @@ namespace experimental {
5959
// of more portable solutions if needed
6060
//
6161
template <typename... Args>
62-
int printf(const CONSTANT_AS char *__format, Args... args) {
62+
int printf(const __SYCL_CONSTANT_AS char *__format, Args... args) {
6363
#ifdef __SYCL_DEVICE_ONLY__
6464
return __spirv_ocl_printf(__format, args...);
6565
#else
@@ -72,4 +72,4 @@ int printf(const CONSTANT_AS char *__format, Args... args) {
7272
} // namespace sycl
7373
} // __SYCL_INLINE_NAMESPACE(cl)
7474

75-
#undef CONSTANT_AS
75+
#undef __SYCL_CONSTANT_AS

sycl/include/CL/sycl/aliases.hpp

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -30,44 +30,44 @@ class half;
3030
// Related spec issue: KhronosGroup/SYCL-Docs#40
3131
using half = cl::sycl::detail::half_impl::half;
3232

33-
#define MAKE_VECTOR_ALIAS(ALIAS, TYPE, N) \
33+
#define __SYCL_MAKE_VECTOR_ALIAS(ALIAS, TYPE, N) \
3434
using ALIAS##N = cl::sycl::vec<TYPE, N>;
3535

36-
#define MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \
37-
MAKE_VECTOR_ALIAS(char, char, N) \
38-
MAKE_VECTOR_ALIAS(short, short, N) \
39-
MAKE_VECTOR_ALIAS(int, int, N) \
40-
MAKE_VECTOR_ALIAS(long, long, N) \
41-
MAKE_VECTOR_ALIAS(float, float, N) \
42-
MAKE_VECTOR_ALIAS(double, double, N) \
43-
MAKE_VECTOR_ALIAS(half, half, N)
36+
#define __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \
37+
__SYCL_MAKE_VECTOR_ALIAS(char, char, N) \
38+
__SYCL_MAKE_VECTOR_ALIAS(short, short, N) \
39+
__SYCL_MAKE_VECTOR_ALIAS(int, int, N) \
40+
__SYCL_MAKE_VECTOR_ALIAS(long, long, N) \
41+
__SYCL_MAKE_VECTOR_ALIAS(float, float, N) \
42+
__SYCL_MAKE_VECTOR_ALIAS(double, double, N) \
43+
__SYCL_MAKE_VECTOR_ALIAS(half, half, N)
4444

45-
#define MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \
46-
MAKE_VECTOR_ALIAS(cl_char, cl::sycl::cl_char, N) \
47-
MAKE_VECTOR_ALIAS(cl_uchar, cl::sycl::cl_uchar, N) \
48-
MAKE_VECTOR_ALIAS(cl_short, cl::sycl::cl_short, N) \
49-
MAKE_VECTOR_ALIAS(cl_ushort, cl::sycl::cl_ushort, N) \
50-
MAKE_VECTOR_ALIAS(cl_int, cl::sycl::cl_int, N) \
51-
MAKE_VECTOR_ALIAS(cl_uint, cl::sycl::cl_uint, N) \
52-
MAKE_VECTOR_ALIAS(cl_long, cl::sycl::cl_long, N) \
53-
MAKE_VECTOR_ALIAS(cl_ulong, cl::sycl::cl_ulong, N) \
54-
MAKE_VECTOR_ALIAS(cl_float, cl::sycl::cl_float, N) \
55-
MAKE_VECTOR_ALIAS(cl_double, cl::sycl::cl_double, N) \
56-
MAKE_VECTOR_ALIAS(cl_half, cl::sycl::cl_half, N)
45+
#define __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \
46+
__SYCL_MAKE_VECTOR_ALIAS(cl_char, cl::sycl::cl_char, N) \
47+
__SYCL_MAKE_VECTOR_ALIAS(cl_uchar, cl::sycl::cl_uchar, N) \
48+
__SYCL_MAKE_VECTOR_ALIAS(cl_short, cl::sycl::cl_short, N) \
49+
__SYCL_MAKE_VECTOR_ALIAS(cl_ushort, cl::sycl::cl_ushort, N) \
50+
__SYCL_MAKE_VECTOR_ALIAS(cl_int, cl::sycl::cl_int, N) \
51+
__SYCL_MAKE_VECTOR_ALIAS(cl_uint, cl::sycl::cl_uint, N) \
52+
__SYCL_MAKE_VECTOR_ALIAS(cl_long, cl::sycl::cl_long, N) \
53+
__SYCL_MAKE_VECTOR_ALIAS(cl_ulong, cl::sycl::cl_ulong, N) \
54+
__SYCL_MAKE_VECTOR_ALIAS(cl_float, cl::sycl::cl_float, N) \
55+
__SYCL_MAKE_VECTOR_ALIAS(cl_double, cl::sycl::cl_double, N) \
56+
__SYCL_MAKE_VECTOR_ALIAS(cl_half, cl::sycl::cl_half, N)
5757

58-
#define MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N) \
59-
MAKE_VECTOR_ALIAS(schar, signed char, N) \
60-
MAKE_VECTOR_ALIAS(uchar, unsigned char, N) \
61-
MAKE_VECTOR_ALIAS(ushort, unsigned short, N) \
62-
MAKE_VECTOR_ALIAS(uint, unsigned int, N) \
63-
MAKE_VECTOR_ALIAS(ulong, unsigned long, N) \
64-
MAKE_VECTOR_ALIAS(longlong, long long, N) \
65-
MAKE_VECTOR_ALIAS(ulonglong, unsigned long long, N)
58+
#define __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N) \
59+
__SYCL_MAKE_VECTOR_ALIAS(schar, signed char, N) \
60+
__SYCL_MAKE_VECTOR_ALIAS(uchar, unsigned char, N) \
61+
__SYCL_MAKE_VECTOR_ALIAS(ushort, unsigned short, N) \
62+
__SYCL_MAKE_VECTOR_ALIAS(uint, unsigned int, N) \
63+
__SYCL_MAKE_VECTOR_ALIAS(ulong, unsigned long, N) \
64+
__SYCL_MAKE_VECTOR_ALIAS(longlong, long long, N) \
65+
__SYCL_MAKE_VECTOR_ALIAS(ulonglong, unsigned long long, N)
6666

67-
#define MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \
68-
MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \
69-
MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \
70-
MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N)
67+
#define __SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(N) \
68+
__SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES(N) \
69+
__SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES(N) \
70+
__SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES(N)
7171

7272
__SYCL_INLINE_NAMESPACE(cl) {
7373
namespace sycl {
@@ -95,16 +95,16 @@ using cl_half = half;
9595
using cl_float = float;
9696
using cl_double = double;
9797

98-
MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(2)
99-
MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(3)
100-
MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(4)
101-
MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(8)
102-
MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(16)
98+
__SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(2)
99+
__SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(3)
100+
__SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(4)
101+
__SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(8)
102+
__SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH(16)
103103
} // namespace sycl
104104
} // __SYCL_INLINE_NAMESPACE(cl)
105105

106-
#undef MAKE_VECTOR_ALIAS
107-
#undef MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES
108-
#undef MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES
109-
#undef MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES
110-
#undef MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH
106+
#undef __SYCL_MAKE_VECTOR_ALIAS
107+
#undef __SYCL_MAKE_VECTOR_ALIASES_FOR_ARITHMETIC_TYPES
108+
#undef __SYCL_MAKE_VECTOR_ALIASES_FOR_OPENCL_TYPES
109+
#undef __SYCL_MAKE_VECTOR_ALIASES_FOR_SIGNED_AND_UNSIGNED_TYPES
110+
#undef __SYCL_MAKE_VECTOR_ALIASES_FOR_VECTOR_LENGTH

sycl/include/CL/sycl/atomic.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#endif
2020
#include <type_traits>
2121

22-
#define STATIC_ASSERT_NOT_FLOAT(T) \
22+
#define __SYCL_STATIC_ASSERT_NOT_FLOAT(T) \
2323
static_assert(!std::is_same<T, float>::value, \
2424
"SYCL atomic function not available for float type")
2525

@@ -257,7 +257,7 @@ class atomic {
257257
compare_exchange_strong(T &Expected, T Desired,
258258
memory_order SuccessOrder = memory_order::relaxed,
259259
memory_order FailOrder = memory_order::relaxed) {
260-
STATIC_ASSERT_NOT_FLOAT(T);
260+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
261261
#ifdef __SYCL_DEVICE_ONLY__
262262
T Value = __spirv_AtomicCompareExchange(
263263
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(SuccessOrder),
@@ -276,43 +276,43 @@ class atomic {
276276
}
277277

278278
T fetch_add(T Operand, memory_order Order = memory_order::relaxed) {
279-
STATIC_ASSERT_NOT_FLOAT(T);
279+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
280280
return __spirv_AtomicIAdd(
281281
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
282282
}
283283

284284
T fetch_sub(T Operand, memory_order Order = memory_order::relaxed) {
285-
STATIC_ASSERT_NOT_FLOAT(T);
285+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
286286
return __spirv_AtomicISub(
287287
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
288288
}
289289

290290
T fetch_and(T Operand, memory_order Order = memory_order::relaxed) {
291-
STATIC_ASSERT_NOT_FLOAT(T);
291+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
292292
return __spirv_AtomicAnd(
293293
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
294294
}
295295

296296
T fetch_or(T Operand, memory_order Order = memory_order::relaxed) {
297-
STATIC_ASSERT_NOT_FLOAT(T);
297+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
298298
return __spirv_AtomicOr(
299299
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
300300
}
301301

302302
T fetch_xor(T Operand, memory_order Order = memory_order::relaxed) {
303-
STATIC_ASSERT_NOT_FLOAT(T);
303+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
304304
return __spirv_AtomicXor(
305305
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
306306
}
307307

308308
T fetch_min(T Operand, memory_order Order = memory_order::relaxed) {
309-
STATIC_ASSERT_NOT_FLOAT(T);
309+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
310310
return __spirv_AtomicMin(
311311
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
312312
}
313313

314314
T fetch_max(T Operand, memory_order Order = memory_order::relaxed) {
315-
STATIC_ASSERT_NOT_FLOAT(T);
315+
__SYCL_STATIC_ASSERT_NOT_FLOAT(T);
316316
return __spirv_AtomicMax(
317317
Ptr, SpirvScope, detail::getSPIRVMemorySemanticsMask(Order), Operand);
318318
}
@@ -397,4 +397,4 @@ T atomic_fetch_max(atomic<T, addressSpace> Object, T Operand,
397397
} // namespace sycl
398398
} // __SYCL_INLINE_NAMESPACE(cl)
399399

400-
#undef STATIC_ASSERT_NOT_FLOAT
400+
#undef __SYCL_STATIC_ASSERT_NOT_FLOAT

sycl/include/CL/sycl/detail/array.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ template <int dimensions = 1> class array {
108108

109109
protected:
110110
size_t common_array[dimensions];
111-
ALWAYS_INLINE void check_dimension(int dimension) const {
111+
__SYCL_ALWAYS_INLINE void check_dimension(int dimension) const {
112112
#ifndef __SYCL_DEVICE_ONLY__
113113
if (dimension >= dimensions || dimension < 0) {
114114
throw cl::sycl::invalid_parameter_error("Index out of range",

sycl/include/CL/sycl/detail/builtins.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
#define __SYCL_MAKE_CALL_ARG1(call, prefix) \
4444
template <typename R, typename T1> \
45-
inline ALWAYS_INLINE R __invoke_##call(T1 t1) __NOEXC { \
45+
inline __SYCL_ALWAYS_INLINE R __invoke_##call(T1 t1) __NOEXC { \
4646
using Ret = cl::sycl::detail::ConvertToOpenCLType_t<R>; \
4747
using Arg1 = cl::sycl::detail::ConvertToOpenCLType_t<T1>; \
4848
__SYCL_EXTERN_IT1(Ret, prefix, call, Arg1); \
@@ -53,7 +53,7 @@
5353

5454
#define __SYCL_MAKE_CALL_ARG2(call, prefix) \
5555
template <typename R, typename T1, typename T2> \
56-
inline ALWAYS_INLINE R __invoke_##call(T1 t1, T2 t2) __NOEXC { \
56+
inline __SYCL_ALWAYS_INLINE R __invoke_##call(T1 t1, T2 t2) __NOEXC { \
5757
using Ret = cl::sycl::detail::ConvertToOpenCLType_t<R>; \
5858
using Arg1 = cl::sycl::detail::ConvertToOpenCLType_t<T1>; \
5959
using Arg2 = cl::sycl::detail::ConvertToOpenCLType_t<T2>; \
@@ -66,7 +66,7 @@
6666

6767
#define __SYCL_MAKE_CALL_ARG2_SAME(call, prefix) \
6868
template <typename R, typename T> \
69-
inline ALWAYS_INLINE R __invoke_##call(T t1, T t2) __NOEXC { \
69+
inline __SYCL_ALWAYS_INLINE R __invoke_##call(T t1, T t2) __NOEXC { \
7070
using Ret = cl::sycl::detail::ConvertToOpenCLType_t<R>; \
7171
using Arg = cl::sycl::detail::ConvertToOpenCLType_t<T>; \
7272
__SYCL_EXTERN_IT2_SAME(Ret, prefix, call, Arg); \
@@ -78,7 +78,7 @@
7878

7979
#define __SYCL_MAKE_CALL_ARG2_SAME_RESULT(call, prefix) \
8080
template <typename T> \
81-
inline ALWAYS_INLINE T __invoke_##call(T v1, T v2) __NOEXC { \
81+
inline __SYCL_ALWAYS_INLINE T __invoke_##call(T v1, T v2) __NOEXC { \
8282
using Type = cl::sycl::detail::ConvertToOpenCLType_t<T>; \
8383
__SYCL_EXTERN_IT2_SAME(Type, prefix, call, Type); \
8484
Type arg1 = cl::sycl::detail::convertDataToType<T, Type>(v1); \
@@ -89,7 +89,7 @@
8989

9090
#define __SYCL_MAKE_CALL_ARG3(call, prefix) \
9191
template <typename R, typename T1, typename T2, typename T3> \
92-
inline ALWAYS_INLINE R __invoke_##call(T1 t1, T2 t2, T3 t3) __NOEXC { \
92+
inline __SYCL_ALWAYS_INLINE R __invoke_##call(T1 t1, T2 t2, T3 t3) __NOEXC { \
9393
using Ret = cl::sycl::detail::ConvertToOpenCLType_t<R>; \
9494
using Arg1 = cl::sycl::detail::ConvertToOpenCLType_t<T1>; \
9595
using Arg2 = cl::sycl::detail::ConvertToOpenCLType_t<T2>; \

0 commit comments

Comments
 (0)