On 09/03/2013 07:08 PM, Tom Stellard wrote:
> On Tue, Sep 03, 2013 at 12:45:21PM -0400, Erik Schnetter wrote:
>> Unfortunately, removing the address space definitions means that overloaded 
>> functions do not use address spaces for name mangling. This is bad, because 
>> OpenCL C's run-time library defines many functions with signatures that 
>> differ only in their address spaces. Clang also contains test cases that 
>> explicitly assume that e.g. the "global" address space is number 1, and the 
>> "constant" address space is number 2.
>>
> 
> The name mangling works fine when compiling libclc
> (http://libclc.llvm.org/) for the R600 target.  I'm guessing that this
> is because R600 defines its own address space map.  Would it work to add
> an address space map to whatever target you are using?  Or maybe a
> default address space map that targets like R600 can override.

I'm in a quite long discussion about this topic:
- beginning of the discussion
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130715/084011.html
- last part of the discussion where a small brief is reported
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130819/086907.html
- my last patch that introduces target independent mangling with the option for
targets to require mangling based on the address space map
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130826/087185.html

I'd appreciate any feedback about what has been discussed.

Thanks in advance.

-Michele

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to