search for: llvmcreatetypehandle

Displaying 4 results from an estimated 4 matches for "llvmcreatetypehandle".

2008 Sep 08
3
[LLVMdev] Problems when refining type
...ouldn't be found because the opaque types should be distinct, but I also don't really understand how it ought to work, so maybe I'm way off base. ------------- #include "Core.h" int main() { LLVMTypeRef a = LLVMPointerType(LLVMOpaqueType(), 0); LLVMTypeHandleRef ha = LLVMCreateTypeHandle(a); LLVMTypeRef atypes[1] = { LLVMResolveTypeHandle(ha) }; LLVMRefineType(LLVMResolveTypeHandle(ha), LLVMStructType(atypes, 1, 0)); LLVMTypeRef b = LLVMPointerType(LLVMOpaqueType(), 0); // assert here .... } ------------- The assertion text is: Assertion failed: isa<X>(V...
2010 Jan 06
2
[LLVMdev] Correct way to resolve recursive type information?
...urn and then all type structures are built in turn with references to other types being resolved from the symbol table. To make this work with LLVM I plan to: - in the first type resolution pass, for every structured type in the compiled source create a type handle referencing an opaque type with LLVMCreateTypeHandle(LLVMCreateOpaqueType() and store it in the type's symbol table entry - in the second type resolution pass, create an LLVM structured type for every structured type in the program. The element types for any referenced types will be those types' opaque types - in a third pass, for every struc...
2008 Sep 08
0
[LLVMdev] Problems when refining type
On Mon, Sep 8, 2008 at 2:45 PM, Scott Graham <scott.llvm at h4ck3r.net> wrote: > LLVMTypeRef a = LLVMPointerType(LLVMOpaqueType(), 0); > LLVMTypeHandleRef ha = LLVMCreateTypeHandle(a); > LLVMTypeRef atypes[1] = { LLVMResolveTypeHandle(ha) }; > LLVMRefineType(LLVMResolveTypeHandle(ha), LLVMStructType(atypes, 1, 0)); > > Can anyone explain what I'm doing wrong here? It looks like a bug; the type map is somehow holding onto a stale pointer to an opaque typ...
2010 Jan 06
0
[LLVMdev] Fwd: Correct way to resolve recursive type information?
...ences to other types being resolved from the >> symbol table. >> >> To make this work with LLVM I plan to: >> >> - in the first type resolution pass, for every structured type in the >> compiled source create a type handle referencing an opaque type with >> LLVMCreateTypeHandle(LLVMCreateOpaqueType() and store it in the type's >> symbol table entry >> - in the second type resolution pass, create an LLVM structured type for >> every structured type in the program. The element types for any referenced >> types will be those types' opaque type...