[LLVMdev] Bitcasts between pointers with different address spaces
Mon Ping Wang
monping at apple.com
Fri Sep 7 15:18:59 PDT 2012
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.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev