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
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to