OpenCL C "long" should always have 64 bits

Michele Scandale michele.scandale at gmail.com
Tue Sep 3 11:27:54 PDT 2013


On 09/03/2013 07:34 PM, Erik Schnetter wrote:
> Yes, R600 defines a "good" address space map.
> 
> My patch currently overrides the target-specific address space maps...
> 
> Instead of doing so, I think the right approach is to define a default address space map that already does the right thing for OpenCL and CUDA. This makes sense since address spaces seem currently defined for OpenCL and CUDA only, i.e. they won't be used by standard C/C++. The targets can then override the default (which they already do).

Doing this would imply that every backend should be able to handle these fake
address space also if they are not physically supported by the target architecture.

I totally disagree with this: the target address space map is used to anticipate
in the frontend the knowledge of physical address spaces supported by the
architecture, in order to map entities in the IR within the correct physical
address space (the semantic of addrspace modifier is clear).

I am also discussing in llvmdev about a proper way to represent source level
address space information in the IR so to improve optimization opportunities:
please see the end of
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20130819/086907.html
for a quick description and references to the discussion.

Thanks for the attention.

-Michele



More information about the cfe-commits mailing list