[llvm-commits] [patch] add gcroot attribute, test

Chris Lattner clattner at apple.com
Fri Sep 28 11:10:25 PDT 2007


>>> The llvm.gcroot intrinsic can be declared to take any types you  
>>> care to give it in the module, so long as its eventual type is  
>>> like void(<ty>**, <ty2>*).
>>
>> Actually no, I need to update the langref.html document to make  
>> this explicit, thanks for reminding me.  The issue is that if you  
>> link two modules with different <ty>'s, the two different  
>> intrinsics would have to be merged somehow.  By forcing the  
>> intrinsic to a specific type this problem doesn't happen.
>
> I wondered about that. I'll have to fix several tests and the  
> Verifier. Are these the blessed prototypes?
>
>   void @llvm.gcroot(i8**, i8*)
>   i8* @llvm.gcread(i8*, i8**)
>   void @llvm.gcwrite(i8*, i8*, i8**)

Yep!

-Chris




More information about the llvm-commits mailing list