[llvm-dev] [RFC] Changing X86 data layout for address spaces

Amy Huang via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 18 14:42:44 PDT 2019


I'm working on implementing MSVC's __ptr32, __ptr64, __sptr, and __uptr
extensions, which represent native pointers on 32-bit and 64-bit systems.
The implementation involves adding three address spaces that represent
- 32-bit pointers with sign extension,
- 32-bit pointers with zero extension, and
- 64-bit pointers.

This would require adding the three pointer sizes
'-p253:32:32-p254:32:32-p255:64:64' to the X86 datalayout. I picked
253/254/255 because they're close to 256-258, which are the address spaces
currently in use. I'm not sure if it would be better to use 1/2/3 or some
large numbers.

https://reviews.llvm.org/D64931 contains the patch.
Any feedback is welcome!

- Amy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190718/d83babfb/attachment.html>


More information about the llvm-dev mailing list