[PATCH] D35082: [OpenCL] Add LangAS::opencl_private to represent private address space in AST

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 5 20:42:57 PDT 2017


rjmccall added a comment.

Non-canonical information is not supposed to be mangled.

It's not clear to me what the language rule you're really trying to implement is.  Maybe you really do need a canonical __private address space, in which case you are going to have to change a lot of code in Sema to add the address space qualifier to every local and temporary allocation.  But that's not obvious to me yet, because you haven't really explained why it needs to be explicit in the representation.

If you just want pointers to __private to be mangled with an address-space qualifier — meaning I guess that the mangling e.g. Pi will be completely unused — that should be easy enough to handle in the mangler.  But if you need to distinguish between __private-qualified types and unqualified types, and that distinction isn't purely to implement some syntactic restriction about not writing e.g. __private __global, then that's not good enough and you do need a canonical __private.

Telling me that you're in a hurry isn't helpful; preserving a reasonable representation and not allowing corner cases to become maintenance problems is far more important to the project than landing patches in trunk on some particular schedule.


https://reviews.llvm.org/D35082





More information about the cfe-commits mailing list