[PATCH] OpenCL: Add new types for OpenCL 2.0

Pedro Ferreira arkangath at gmail.com
Thu Jun 11 03:43:04 PDT 2015

The codegen test would imply adding a -cl-std=2.0 option to Clang, which it
currently does not have. This is because the types should only be
recognised if the CL 2.0 standard is explicitly asked for (the default is
to operate on 1.2 mode). Adding that option is a peripheral issue. I've
added the types on the header test under the appropriate "#if defined" but
when I tried to do the same on the .cl file, I found out that the test
parser does not recognise the preprocessor macro and therefore was causing
the test to (incorrectly) fail. As such, I reverted the test.

As for the AS for the other types, I copy-pasted the code from event_t.
That's the reason why I'm actually using the "0". Are you suggesting I
should change event_t to use something else, and by consequence the new
types too? That would be a separate issue.
My guess is that these types are allocated on the stack, which by llvm
convention will always be 0.

The new types are used by new builtins. I don't think there are any other
special semantics to it.

I've added extension checks on the MSAA types, but I'm not sure if this is
the right place. New patch attached.


On Thu, 11 Jun 2015 at 10:33 Anastasia Stulova <Anastasia.Stulova at arm.com>

> Hi Pedro,
> Could we also add a Codegen test? Also it would be better not to use
> constant directly as address space as the mapping could ideally be changed.
> Is there any reason why you generate pointers to private AS?
> Are there any operations allowed on new types? Any semantical checks
> needed?
> If MSAA types are part of an extension and not a part of the general
> standard we should ideally diagnose that extension is enabled when they are
> being used.
> Regards,
> Anastasia
> ________________________________________
> From: cfe-commits-bounces at cs.uiuc.edu [cfe-commits-bounces at cs.uiuc.edu]
> On Behalf Of Pedro Ferreira [arkangath at gmail.com]
> Sent: Thursday, June 11, 2015 8:18 AM
> To: cfe-commits at 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
> -- IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium.  Thank you.
> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No:  2557590
> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No:  2548782
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150611/8a03d6ca/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang-ocl2.patch
Type: text/x-patch
Size: 33534 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150611/8a03d6ca/attachment.bin>

More information about the cfe-commits mailing list