search for: typeinfoblock

Displaying 8 results from an estimated 8 matches for "typeinfoblock".

2011 Jul 26
3
[LLVMdev] Linking opaque types
On Jul 25, 2011, at 10:58 PM, Talin wrote: > To handle the fact that types do not (and can not, at least as long as we intend to support obscure languages like "C" :) have linkage, the the linker uses a "best effort" approach. It attempts to merge types and rewrite IR to use the merged types where it can, but it doesn't make any guarantees. > > I want to add an
2010 Oct 23
2
[LLVMdev] Cast failure in SelectionDAGBuilder
....reflect.Type[]"* %self) nounwind gc "tart-gc" { prologue: %gc_root = alloca i8*, align 8 store i8* null, i8** %gc_root call void @llvm.gcroot(i8** %gc_root, i8* null), !dbg !48487 %new.i = call i8* @malloc(i64 32) nounwind, !dbg !48488 %0 = bitcast i8* %new.i to %tart.core.TypeInfoBlock** store %tart.core.TypeInfoBlock* bitcast (%25* @"tart.reflect.Type[].ArrayIterator.type.tib" to %tart.core.TypeInfoBlock*), %tart.core.TypeInfoBlock** %0, align 8, !dbg !48488 tail call void @llvm.dbg.declare(metadata !{null}, metadata !48489) %1 = getelementptr inbounds i8* %new.i...
2011 Jul 27
1
[LLVMdev] Linking opaque types
On Jul 27, 2011, at 12:41 AM, Talin wrote: > What do you mean "the linker fails"? Type mismatches should not cause the linker to fail. In any case, this example should link, please provide a minimal example of two .ll files that repros what you're seeing with llvm-link. Thanks, > > It's llvm-ld that asserts here: > > Assertion failed: (N < NumContainedTys
2008 Apr 20
1
[LLVMdev] Global variable-length array
...presumes C semantics and type restrictions - I'm more interested in what's possible in the IR language. Let me explain a bit more about the use case I am thinking of. Imagine I'm writing something like a Java or C# interpreter, where ever object's first member is a pointer to a TypeInfoBlock (TIB). The TIB has a fixed length header struct, followed by a variable-length vtable. Part of the process of instantiating a new object consists of filling in the newly-allocated object's TIB pointer. For that reason, we want to declare the TIB as a global variable. Moreover, we'd like...
2008 Apr 20
0
[LLVMdev] Global variable-length array
On Apr 19, 2008, at 7:45 PM, Talin wrote: > Question about "Pascal-style" arrays as mentioned in the reference > guide. > > Suppose I have a global variable which points to a constant, variable > length array. > > The question is, how can I assign an array of type "{ i32, [5 x > float]}" > to a global of type "{ i32, [0 x float]}"? From
2011 Apr 07
1
[LLVMdev] More DWARF problems
On Apr 7, 2011, at 12:14 PM, Talin wrote: > > OK I've been checking this out some more, and the DIEs don't look valid to me. Take a look at this output from dwarfdump -v: > > 0x000000c7: TAG_subprogram [3] > 0x000000c8: AT_name( .debug_str[0x000001bd] = "construct" ) > 0x000000cc: AT_MIPS_linkage_name( .debug_str[0x000001c7] =
2011 Aug 09
1
[LLVMdev] Proposal for better assertions in LLVM
On 29 July 2011 12:48, Dan Bailey <dan at dneg.com> wrote: > I'm not going to comment on the syntax of any of the proposals made, just > dispute that they don't provide sufficient value to make them worth > introducing. Hi Dan, I've read the arguments on both sides and I have to say I'm with Chris on this one. I normally keep GDB running with my debug image. After
2008 Apr 20
4
[LLVMdev] Global variable-length array
Question about "Pascal-style" arrays as mentioned in the reference guide. Suppose I have a global variable which points to a constant, variable length array. The question is, how can I assign an array of type "{ i32, [5 x float]}" to a global of type "{ i32, [0 x float]}"? From my experimentation, it appears you can't bitcast or call GEP on a constant