[OpenCL] CL2.0 restricts coversions of pointers to different address spaces
anastasia.stulova at arm.com
Mon Nov 17 10:26:39 PST 2014
An update is attached here!
From: Pekka Jääskeläinen [mailto:pekka.jaaskelainen at tut.fi]
Sent: 12 November 2014 09:11
To: Anastasia Stulova; cfe-commits at cs.uiuc.edu
Subject: Re: [OpenCL] CL2.0 restricts coversions of pointers to different
Could the two bool isAddressSpaceOverlapping() methods share code somehow?
Otherwise LGTM (but I'm still learning the Clang code base!).
On 11/11/2014 08:13 PM, Anastasia Stulova wrote:
> In this patch I added restrictions for conversions of pointers to
> different address spaces as explained below.
> OpenCLv2.0 C spec s6.5 adds __generic (unnamed) address space to be
> used as a place holder in case an address space is not known
> statically or multiple are intended to be used with the same fragment of
> All named address spaces (that existed in the previous OpenCL
> standards) except for __constant are subset of __generic one.
> Conversions between pointers of different address spaces are regulated by
rules in s6.5.5 as follows:
> -The named address spaces ( __global, __local, and __private) can be
> converted to __generic implicitly. Generic -> named can only be done
> with an explicit cast.
> -Conversions between pointers of named address spaces are not allowed.
> -A pointer to the __constant address space can only be converted to a
> pointer to the __constant address space (either by an implicit cast
> or by an explicit one).
> This patch depends on the change submitted previously:
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 20235 bytes
Desc: not available
More information about the cfe-commits