Hi Pedro,

 

I had noticed that event_t is also handled this way, but it still seems odd to 
me to declare something as a pointer type when it is not a pointer (sorry if 
this is what is blinding me). But as OpenCL is gaining popularity, and clang 
being a popular driver, I wonder if it would be a good idea to encode the size 
and alignment of OpenCL types in the target  datalayout?

 

Cheers,

sam

 

 

From: Pedro Ferreira [mailto:arkang...@gmail.com] 
Sent: 11 June 2015 09:01
To: Sam Parker; cfe-commits@cs.uiuc.edu
Subject: Re: [PATCH] OpenCL: Add new types for OpenCL 2.0

 

Hi Sam,

I don't understand what you're trying to say.

You quoted the standard which says that the "size of those types is 
implementation defined"; you then infer that this is the reason why it can 
/not/ make it a pointer to opaque struct. I would think the other way around: 
it's because the size is implementation defined that we can use whatever 
representation we wish.

Further to that, this is how event_t is already defined (I didn't add it).

 

OpenCL implementations will likely either patch clang to do this or add a 
typedef in the implicit header which will end up generating the same llvm 
intermediate anyway.

What these structs map to in final HW code is indeed target defined, so I 
suppose your comment on "hooks to get the specific types" would be accurate.

 

In any case, if the representation of those types is not acceptable for Clang, 
I'll strip them and leave only the images in.

 

Pedro

 

On Thu, 11 Jun 2015 at 08:41 Sam Parker <sam.par...@arm.com> wrote:

Hi Pedro,

 

I was looking at these types a couple of months back, what stumped me is that 
ndrange_t is not a pointer type as I had originally tried. You too have made it 
a pointer-to-a-struct type but I feel this is wrong. The spec says, ‘values 
returned by applying the sizeof operator to the queue_t, clk_event_t, nrange_t 
and reserve_id_t types is implementation defined.’ So I understand that it 
would not be valid to make this types as pointers and that implementations 
would probably just have to create definitions for them in the distributed 
header file; unless there were some hooks to the backend to get the specific 
implementation defined types.

 

Cheers,

sam

 

 

From: cfe-commits-boun...@cs.uiuc.edu [mailto:cfe-commits-boun...@cs.uiuc.edu] 
On Behalf Of Pedro Ferreira
Sent: 11 June 2015 08:19
To: cfe-commits@cs.uiuc.edu
Subject: [PATCH] OpenCL: Add new types for OpenCL 2.0

 

Hi all, 

This patch adds the new OpenCL types for 2.0 described at 
https://www.khronos.org/registry/cl/sdk/2.0/docs/man/xhtml/otherDataTypes.html 
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.khronos.org_registry_cl_sdk_2.0_docs_man_xhtml_otherDataTypes.html&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=42YnWExwxwpeU6GPDY2_3RFxCqQakUbj_CXZsMsQ2jU&s=REOBNoaDio7qDyIDCqmXhxFvZYjMOK6vuXAttjOVsNI&e=>
  

I also opened https://llvm.org/bugs/show_bug.cgi?id=23794 
<https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D23794&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=42YnWExwxwpeU6GPDY2_3RFxCqQakUbj_CXZsMsQ2jU&s=TAV4suAMaHgdIPA83Da3pQl7c68On7bAFWtnrUbt_Uk&e=>
  for this. I keep forgetting you prefer patches sent to this mailing list.
This also adds lldb entries (fixes switch warnings). 

The types are: 

image2d_depth_t 
image2d_array_depth_t 
image2d_msaa_t 
image2d_array_msaa_t 
image2d_msaa_depth_t 
image2d_array_msaa_depth_t 
queue_t 
ndrange_t 
clk_event_t 
reserve_id_t 

let me know if something looks wrong,

Pedro

_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to