[LLVMdev] why is gc.root 8 bits?

David Chisnall David.Chisnall at cl.cam.ac.uk
Tue Mar 31 01:18:17 PDT 2015


LLVM currently lacks a void* equivalent, so i8* is frequently used to mean 'pointer to something'.  There's work currently underway to remove types from pointers, so this will become just a generic pointer.

David

> On 31 Mar 2015, at 08:13, Hayden Livingston <halivingston at gmail.com> wrote:
> 
> I'm trying to add gcoot functionality to my code and I'm confused by why gcroot is assuming to be an i8**
> 
> I'm using i32 as object and array pointers and if I make them i8 things seem to work.
> 
> I'm generating IR much like http://llvm.org/docs/GarbageCollection.html#llvm-ir-features
> void @llvm.gcroot(i8** %ptrloc, i8* %metadata)
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list