OpenCL address space and mangling

Tanya Lattner lattner at
Tue Jul 23 14:36:55 PDT 2013

On Jul 23, 2013, at 2:03 PM, Michele Scandale <michele.scandale at> wrote:

>> Ok, this approach will work for me. However, I would prefer to not have CL prefix and keep it as AS#.
> This means that you want to revert the commit, removing the usage of the target-address space map, right?

No. I wanted the specialized mangling that you are proposing in your patch but don't use "CL" as the prefix. Use "AS" for CL.

However, I actually should have looked at this closer as it actually doesn't map to what I want it to. I want it to be the following:

1, // opencl_global
3, // opencl_local
2, // opencl_constant

and when there is no address space then it maps to nothing.

So, I don't think your patch is going to work unless the order is changed in the enum. Because this is not clearly defined in the spec and is implementation specific and TARGET specific..  then changing that enum is probably not going to be the right approach either.

So, I'm going back to my original statement to keep it to be Target specific. For your library, are these functions actually implemented differently? Wouldn't they be exactly the same when there is no address space? In our implementation we have an address space map defined for X86 and then  the names get mangled "correctly" for all targets. But, all the functionality is the same since the address spaces don't impact codegen for X86.


> If so it's still fine :-)
> Thanks again.
> -Michele

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the cfe-commits mailing list