jhuber6 added a comment.

In D151087#4360919 <https://reviews.llvm.org/D151087#4360919>, @arsenm wrote:

> In D151087#4360695 <https://reviews.llvm.org/D151087#4360695>, @jhuber6 wrote:
>
>> I don't think that's something we can diagnose here with just the address 
>> space number. it would require information from the underlying target for 
>> the expected pointer qualities to the address space.
>
> Yes, this is mandatory. Numbered address spaces are broken and just work by 
> accident and I don't love seeing new code rely on whatever random behavior 
> they have now. Right now they happen to codegen to something that appears to 
> work, while bypassing any kind of sensible semantic checking for what you're 
> doing with them. If you want to really use this, we need to find some way to 
> map numbers back into language address spaces and make them fully aware of 
> the target properties

How are they broken? The expectation is just that they line up with what the 
backend defines them as, which should be a stable target. We could potentially 
use target info to map the numbered address spaces into something sensible. 
E.g. `1 = opencl_lobal`, `3 = opencl_local`, `5 = opencl_private`. I think 
that's commend between NVPTX and AMDGPU. But I still don't think that we should 
be preventing from even doing wrong things with them if the user explicitly 
requests it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D151087/new/

https://reviews.llvm.org/D151087

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to