[LLVMdev] Bitcasts between pointers with different address spaces
Mon Ping Wang
monping at apple.com
Fri Sep 7 15:18:59 PDT 2012
Hi,
I don't think we should make bit casts between pointers with different address spaces illegal. Address spaces are not required to be disjoint. In the N1169 spec, it says
A non-null pointer into an address space A can be cast to a pointer into another address space B, but such a cast is undefined if the source pointer does not point to a location in B.
If the address spaces overlap, one should be able to bticast between them.
-- Mon Ping
On Sep 7, 2012, at 10:47 AM, Villmow, Micah wrote:
> Should LLVM make bitcasts between pointers with different address spaces illegal?
>
> This will require a small clarification in the documentation and an assertion check added to the verifier, but I think this would be a good approach.
>
> The reason being is that in different address spaces, pointers are not always the same size.
>
> This could be limited to make it legal only if the size of the pointer in source and destination address spaces are equivalent, but that seems like more of a work-around than a proper solution.
>
> Ideas?
> Micah
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120907/c3f65e98/attachment.html>
More information about the llvm-dev
mailing list