[LLVMdev] C embedded extensions and LLVM
Christopher Lamb
christopher.lamb at gmail.com
Tue Nov 20 21:47:27 PST 2007
On Nov 11, 2007, at 9:52 AM, Chris Lattner wrote:
> Unlike alignment and volatility, I think that the address space
> qualifier should be represented explicitly in the type system. The
> reason for this is primarily that pointers to different address
> spaces are really very different sorts of beasties: for example
> they can be codegen'd to have different sizes. Any property that
> affects how the value is stored in registers needs to be in the
> type instead of on the load/store instruction. Also, unlike
> volatile, it is not common to cast a pointer between two different
> address spaces.
>
> The good thing about this is that I think it will make it
> substantially easier to update the various llvm optimizations if
> you do this. The meat of project boils down to adding a new
> address space qualifier field to PointerType, making sure
> PointerType takes this field into account when it is being uniqued,
> and adding the address space qualifier to things like global variable.
Any suggestions on type syntax in .ll files for address spaced pointers?
I was thinking postfix of the type name, but I'm up in the air about
what a good separator would be. Simply whitespace?
i32$27*
i32 27*
i32(27)*
i32{27}*
i32 at 27*
--
Christopher Lamb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20071120/c34a5cc4/attachment.html>
More information about the llvm-dev
mailing list