Skip to content

Commit a1f11cc

Browse files
committed
Enabled cl_khr_3d_image_writes for NVPTX target
Removed expected warning for cl_khr_3d_image_writes
1 parent 2ca7669 commit a1f11cc

File tree

2 files changed

+40
-38
lines changed

2 files changed

+40
-38
lines changed

clang/lib/Basic/Targets/NVPTX.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ static const int NVPTXDWARFAddrSpaceMap[] = {
4646
-1, // Default, opencl_private or opencl_generic - not defined
4747
5, // opencl_global
4848
-1,
49-
8, // opencl_local or cuda_shared
50-
4, // opencl_constant or cuda_constant
49+
8, // opencl_local or cuda_shared
50+
4, // opencl_constant or cuda_constant
5151
};
5252

5353
class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo {
@@ -144,6 +144,7 @@ class LLVM_LIBRARY_VISIBILITY NVPTXTargetInfo : public TargetInfo {
144144
Opts.support("cl_khr_int64_base_atomics");
145145
Opts.support("cl_khr_int64_extended_atomics");
146146
Opts.support("cl_khr_fp16");
147+
Opts.support("cl_khr_3d_image_writes");
147148
}
148149

149150
/// \returns If a target requires an address within a target specific address

clang/test/Misc/nvptx.languageOptsOpenCL.cl

+37-36
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#ifndef cl_clang_storage_class_specifiers
2121
#error "Missing cl_clang_storage_class_specifiers define"
2222
#endif
23-
#pragma OPENCL EXTENSION cl_clang_storage_class_specifiers: enable
23+
#pragma OPENCL EXTENSION cl_clang_storage_class_specifiers : enable
2424

2525
// TODO: Temporarily disabling the following test as a work around for the
2626
// SYCL codepath until the cl_khr_fp16 is restricted to only the sycldevice triple.
@@ -29,7 +29,7 @@
2929
// #ifdef cl_khr_fp16
3030
// #error "Incorrect cl_khr_fp16 define"
3131
// #endif
32-
#pragma OPENCL EXTENSION cl_khr_fp16: enable
32+
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
3333
// expected warning@-1{{unsupported OpenCL extension 'cl_khr_fp16' - ignoring}}
3434

3535
// TODO: Temporarily disabling the following two tests as a work around for the
@@ -39,63 +39,63 @@
3939
//#ifdef cl_khr_int64_base_atomics
4040
//#error "Incorrect cl_khr_int64_base_atomics define"
4141
//#endif
42-
#pragma OPENCL EXTENSION cl_khr_int64_base_atomics: enable
42+
#pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
4343
// expectedwarning@-1{{unsupported OpenCL extension 'cl_khr_int64_base_atomics' - ignoring}}
4444

4545
//#ifdef cl_khr_int64_extended_atomics
4646
//#error "Incorrect cl_khr_int64_extended_atomics define"
4747
//#endif
48-
#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics: enable
48+
#pragma OPENCL EXTENSION cl_khr_int64_extended_atomics : enable
4949
// expectedwarning@-1{{unsupported OpenCL extension 'cl_khr_int64_extended_atomics' - ignoring}}
5050

5151
#ifndef cl_khr_gl_sharing
5252
#error "Missing cl_khr_gl_sharing define"
5353
#endif
54-
#pragma OPENCL EXTENSION cl_khr_gl_sharing: enable
54+
#pragma OPENCL EXTENSION cl_khr_gl_sharing : enable
5555

5656
#ifndef cl_khr_icd
5757
#error "Missing cl_khr_icd define"
5858
#endif
59-
#pragma OPENCL EXTENSION cl_khr_icd: enable
59+
#pragma OPENCL EXTENSION cl_khr_icd : enable
6060

6161
// Core features in CL 1.1
6262

6363
#ifndef cl_khr_byte_addressable_store
6464
#error "Missing cl_khr_byte_addressable_store define"
6565
#endif
66-
#pragma OPENCL EXTENSION cl_khr_byte_addressable_store: enable
66+
#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable
6767
#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
6868
// expected-warning@-2{{OpenCL extension 'cl_khr_byte_addressable_store' is core feature or supported optional core feature - ignoring}}
6969
#endif
7070

7171
#ifndef cl_khr_global_int32_base_atomics
7272
#error "Missing cl_khr_global_int32_base_atomics define"
7373
#endif
74-
#pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics: enable
74+
#pragma OPENCL EXTENSION cl_khr_global_int32_base_atomics : enable
7575
#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
7676
// expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
7777
#endif
7878

7979
#ifndef cl_khr_global_int32_extended_atomics
8080
#error "Missing cl_khr_global_int32_extended_atomics define"
8181
#endif
82-
#pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics: enable
82+
#pragma OPENCL EXTENSION cl_khr_global_int32_extended_atomics : enable
8383
#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
8484
// expected-warning@-2{{OpenCL extension 'cl_khr_global_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
8585
#endif
8686

8787
#ifndef cl_khr_local_int32_base_atomics
8888
#error "Missing cl_khr_local_int32_base_atomics define"
8989
#endif
90-
#pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics: enable
90+
#pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable
9191
#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
9292
// expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_base_atomics' is core feature or supported optional core feature - ignoring}}
9393
#endif
9494

9595
#ifndef cl_khr_local_int32_extended_atomics
9696
#error "Missing cl_khr_local_int32_extended_atomics define"
9797
#endif
98-
#pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics: enable
98+
#pragma OPENCL EXTENSION cl_khr_local_int32_extended_atomics : enable
9999
#if (__OPENCL_C_VERSION__ >= 110) && defined TEST_CORE_FEATURES
100100
// expected-warning@-2{{OpenCL extension 'cl_khr_local_int32_extended_atomics' is core feature or supported optional core feature - ignoring}}
101101
#endif
@@ -105,115 +105,116 @@
105105
#ifdef cl_khr_select_fprounding_mode
106106
#error "Incorrect cl_khr_select_fprounding_mode define"
107107
#endif
108-
#pragma OPENCL EXTENSION cl_khr_select_fprounding_mode: enable
108+
#pragma OPENCL EXTENSION cl_khr_select_fprounding_mode : enable
109109
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_select_fprounding_mode' - ignoring}}
110110
#endif
111111

112-
113112
// Core feature in CL 1.2
114113
#ifndef cl_khr_fp64
115114
#error "Missing cl_khr_fp64 define"
116115
#endif
117-
#pragma OPENCL EXTENSION cl_khr_fp64: enable
116+
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
118117
#if (__OPENCL_C_VERSION__ >= 120) && defined TEST_CORE_FEATURES
119118
// expected-warning@-2{{OpenCL extension 'cl_khr_fp64' is core feature or supported optional core feature - ignoring}}
120119
#endif
121120

122-
// Core feature in CL 2.0, but not supported on nvptx
123-
#ifdef cl_khr_3d_image_writes
124-
#error "Incorrect cl_khr_3d_image_writes define"
125-
#endif
126-
#pragma OPENCL EXTENSION cl_khr_3d_image_writes: enable
127-
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_3d_image_writes' - ignoring}}
128-
121+
// TODO: Temporarily disabling the following test as a work around for the
122+
// SYCL codepath until the cl_khr_3d_image_writes is restricted to
123+
// only the sycldevice triple.
129124

125+
// Core feature in CL 2.0, but not supported on nvptx
126+
// #ifdef cl_khr_3d_image_writes
127+
// #error "Incorrect cl_khr_3d_image_writes define"
128+
// #endif
129+
#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
130+
// expected warning@-1{{unsupported OpenCL extension 'cl_khr_3d_image_writes' - ignoring}}
130131

131132
#ifdef cl_khr_gl_event
132133
#error "Incorrect cl_khr_gl_event define"
133134
#endif
134-
#pragma OPENCL EXTENSION cl_khr_gl_event: enable
135+
#pragma OPENCL EXTENSION cl_khr_gl_event : enable
135136
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_event' - ignoring}}
136137

137138
#ifdef cl_khr_d3d10_sharing
138139
#error "Incorrect cl_khr_d3d10_sharing define"
139140
#endif
140-
#pragma OPENCL EXTENSION cl_khr_d3d10_sharing: enable
141+
#pragma OPENCL EXTENSION cl_khr_d3d10_sharing : enable
141142
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d10_sharing' - ignoring}}
142143

143144
#ifdef cl_khr_context_abort
144145
#error "Incorrect cl_context_abort define"
145146
#endif
146-
#pragma OPENCL EXTENSION cl_khr_context_abort: enable
147+
#pragma OPENCL EXTENSION cl_khr_context_abort : enable
147148
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_context_abort' - ignoring}}
148149

149150
#ifdef cl_khr_d3d11_sharing
150151
#error "Incorrect cl_khr_d3d11_sharing define"
151152
#endif
152-
#pragma OPENCL EXTENSION cl_khr_d3d11_sharing: enable
153+
#pragma OPENCL EXTENSION cl_khr_d3d11_sharing : enable
153154
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_d3d11_sharing' - ignoring}}
154155

155156
#ifdef cl_khr_dx9_media_sharing
156157
#error "Incorrect cl_khr_dx9_media_sharing define"
157158
#endif
158-
#pragma OPENCL EXTENSION cl_khr_dx9_media_sharing: enable
159+
#pragma OPENCL EXTENSION cl_khr_dx9_media_sharing : enable
159160
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_dx9_media_sharing' - ignoring}}
160161

161162
#ifdef cl_khr_image2d_from_buffer
162163
#error "Incorrect cl_khr_image2d_from_buffer define"
163164
#endif
164-
#pragma OPENCL EXTENSION cl_khr_image2d_from_buffer: enable
165+
#pragma OPENCL EXTENSION cl_khr_image2d_from_buffer : enable
165166
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_image2d_from_buffer' - ignoring}}
166167

167168
#ifdef cl_khr_initialize_memory
168169
#error "Incorrect cl_khr_initialize_memory define"
169170
#endif
170-
#pragma OPENCL EXTENSION cl_khr_initialize_memory: enable
171+
#pragma OPENCL EXTENSION cl_khr_initialize_memory : enable
171172
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_initialize_memory' - ignoring}}
172173

173174
#ifdef cl_khr_gl_depth_images
174175
#error "Incorrect cl_khr_gl_depth_images define"
175176
#endif
176-
#pragma OPENCL EXTENSION cl_khr_gl_depth_images: enable
177+
#pragma OPENCL EXTENSION cl_khr_gl_depth_images : enable
177178
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_depth_images' - ignoring}}
178179

179180
#ifdef cl_khr_gl_msaa_sharing
180181
#error "Incorrect cl_khr_gl_msaa_sharing define"
181182
#endif
182-
#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing: enable
183+
#pragma OPENCL EXTENSION cl_khr_gl_msaa_sharing : enable
183184
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_gl_msaa_sharing' - ignoring}}
184185

185186
#ifdef cl_khr_spir
186187
#error "Incorrect cl_khr_spir define"
187188
#endif
188-
#pragma OPENCL EXTENSION cl_khr_spir: enable
189+
#pragma OPENCL EXTENSION cl_khr_spir : enable
189190
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_spir' - ignoring}}
190191

191192
#ifdef cl_khr_egl_event
192193
#error "Incorrect cl_khr_egl_event define"
193194
#endif
194-
#pragma OPENCL EXTENSION cl_khr_egl_event: enable
195+
#pragma OPENCL EXTENSION cl_khr_egl_event : enable
195196
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_event' - ignoring}}
196197

197198
#ifdef cl_khr_egl_image
198199
#error "Missing cl_khr_egl_image define"
199200
#endif
200-
#pragma OPENCL EXTENSION cl_khr_egl_image: enable
201+
#pragma OPENCL EXTENSION cl_khr_egl_image : enable
201202
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_egl_image' - ignoring}}
202203

203204
#ifdef cl_khr_srgb_image_writes
204205
#error "Incorrect cl_khr_srgb_image_writes define"
205206
#endif
206-
#pragma OPENCL EXTENSION cl_khr_srgb_image_writes: enable
207+
#pragma OPENCL EXTENSION cl_khr_srgb_image_writes : enable
207208
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_srgb_image_writes' - ignoring}}
208209

209210
#ifdef cl_khr_subgroups
210211
#error "Incorrect cl_khr_subgroups define"
211212
#endif
212-
#pragma OPENCL EXTENSION cl_khr_subgroups: enable
213+
#pragma OPENCL EXTENSION cl_khr_subgroups : enable
213214
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_subgroups' - ignoring}}
214215

215216
#ifdef cl_khr_terminate_context
216217
#error "Incorrect cl_khr_terminate_context define"
217218
#endif
218-
#pragma OPENCL EXTENSION cl_khr_terminate_context: enable
219+
#pragma OPENCL EXTENSION cl_khr_terminate_context : enable
219220
// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_terminate_context' - ignoring}}

0 commit comments

Comments
 (0)