[PATCH] D62574: Initial draft of target-configurable address spaces.
Bevin Hansson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 7 04:39:37 PDT 2020
ebevhan added a subscriber: danilaml.
ebevhan added a comment.
In D62574#2133160 <https://reviews.llvm.org/D62574#2133160>, @danilaml wrote:
> What are the remaining roadblocks left before this patch can be merged? I'm interested in having a target-specific way to define the allowed explicit/implicit address space conversions.
This has been on my backburner for various reasons, so I'm not sure what the status is any more. I could try rebasing it and seeing where things are at.
I don't believe that the issues I mentioned last have been dealt with, though.
This was also only an initial concept. I think that even once all the issues with the patch have been ironed out, it would require a round of wider review since it's a fairly hefty API change.
> Also, it appears that currently whether implicit casts between pointers of different AS are allowed is determined by the superset relations only, however https://reviews.llvm.org/D73360 introduced another (openCL-specific) variable into the mix: whether the conversion is a top level or not. IMHO, this should also be configured by the target, although I'm not sure whether it needs a separate hook (isBitcastNoop or similar?) or it needs to check the legality of the implicit casts differently.
That patch only seems to apply to C++, I think? The restriction on top-level-only conversion should be correct, at least in C++.
It's generally not safe to alter address spaces below the top level. C is just very permissive about it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62574/new/
https://reviews.llvm.org/D62574
More information about the cfe-commits
mailing list