[PATCH] D66197: AMDGPU: Add intrinsics for address space identification

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 14 11:49:58 PDT 2019


arsenm added a comment.

In D66197#1629861 <https://reviews.llvm.org/D66197#1629861>, @jdoerfert wrote:

> In D66197#1629809 <https://reviews.llvm.org/D66197#1629809>, @b-sumner wrote:
>
> > In D66197#1629784 <https://reviews.llvm.org/D66197#1629784>, @jdoerfert wrote:
> >
> > > Do we really need these to be "amdgpu" specific?
> >
> >
> > Are you envisioning these would be used for OpenCL implementations?  OpenCL doesn't exactly have these.  It instead has to_<addrspacename> functions which return NULL if the generic pointer isn't actually pointing at a object in <addrrspacename>.
>
>
> We (will) have various languages/targets that have corresponding address spaces and we already reserve some numbers for specific address spaces (afaik), why not make this a generic functionality.


The IR doesn't reserve any numbers for specific usage (except 0 has some special properties, which do not include being a flat/generic pointer as defined in OpenCL). It might make more sense to add a clang builtin for this, which could then be implemented with the target specific intrinsic. I don't want to add a generic target intrinsic while guessing at how this might work on other targets. Something truly generic, like llvm.is.address.space(ptr, address_space_id) I don't think really works generally enough to add. There isn't necessarily a 1:1 mapping between the language address space and IR address space. There could possibly be multiple IR address spaces to handle, and not all targets might be able to do this test at all


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

https://reviews.llvm.org/D66197





More information about the llvm-commits mailing list