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