[llvm-commits] [llvm] r44860 - /llvm/trunk/docs/LangRef.html

Christopher Lamb christopher.lamb at gmail.com
Tue Dec 11 22:12:42 PST 2007


On Dec 11, 2007, at 9:16 PM, Chris Lattner wrote:

>
> On Dec 11, 2007, at 9:08 PM, Christopher Lamb wrote:
>
>>
>> On Dec 11, 2007, at 8:50 PM, Chris Lattner wrote:
>>
>>>>> That is a very strong argument to me, but it seems to argue even
>>>>> more
>>>>> strongly for:
>>>>>
>>>>> @G = constant float addrspace(5) 1.0, section "foo", align 4
>>>>>
>>>>> Your example above would then be:
>>>>>
>>>>>> @foo = constant float addrspace(1)* addrspace(2) 1.0
>>>>>
>>>>> which has type:
>>>>>
>>>>>> float addrspace(1)* addrspace(2)*
>>>>>
>>>>> What do you think?  the downside is that this may cause bison to
>>>>> have
>>>>> issues :)
>>>>
>>>> This is ideally what I wanted, but it would mean seriously mucking
>>>> with bison and changing how all CosntVal's are handled. I can give
>>>> it a try.
>>>
>>> Hrm, I think bison will get extremely grumpy about this.
>>
>> I feared.
>>
>>> Quick  question, what is the syntax for an external GV with an ASI?
>>
>>
>> Sticky wicket, that. It should be:
>>
>> @foo = external global i32 addrspace(1)
>>
>> But that's not working right now....
>
> Right, because it would require the same parsing logic as the proposal
> above :).

I don't think so. I think the rules were simply missing the  
OptAddrSpace.

>
> How horrible would:
>
>> @foo = addrspace(1) external global i32
>
> be?

I like that the order in the decl is the order in the type lots.

These now work with the rules being adjusted.

@foo = extern_weak global i32 addrspace(1)
@foo = external global i32 addrspace(1)
@foo = dllimport global i32 addrspace(1)

@foo = internal global i32 addrspace(1)
@foo = weak global i32 addrspace(1)
@foo = linkonce global i32 addrspace(1)
@foo = appending global i32 addrspace(1)
@foo = dllexport global i32 addrspace(1)

--
Christopher Lamb






More information about the llvm-commits mailing list