[LLVMdev] C embedded extensions and LLVM
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 at 27*
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev