[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