AlexVlx added a comment.

In D156539#4542836 <https://reviews.llvm.org/D156539#4542836>, @rjmccall wrote:

> We should probably write this code to work properly in case we add a target 
> that makes `__builtin_alloca` return a pointer in the private address space.  
> Could you recover the target AS from the type of the expression instead of 
> assuming `LangAS::Default`?

I believe it should work as written (it is possible that I misunderstand the 
objection, case in which I do apologise). The issue is precisely that for some 
targets (amdgcn being one) `alloca` returns a pointer to private, which doesn't 
compose with the default AS being unspecified / nonexistent, for some languages 
(e.g. HIP,  C/C++ etc.). For the OCL case @arsenm mentions, I believe that we 
make a choice based on `LangOpts.OpenCLGenericAddressSpace`, and the code above 
would only be valid from the OCL language perspective iff that is true. I've 
put together a short Godbolt that captures these (and the bug the patch should 
fix, please see the bitcasts between ASes in the non-OCL case): 
https://gcc.godbolt.org/z/sYGK76zqv.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D156539

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

Reply via email to