search for: badref

Displaying 20 results from an estimated 76 matches for "badref".

2011 May 09
2
[LLVMdev] <badref> showed up when duplicating a list of dependent instructions
...*CloneI << "\n"; pb->getInstList().insertAfter(pi, CloneI); // Inserts newInst after pi in pb // adjust pi: point to the newly inserted inst: pi = CurI; }//end of for loop on p However, I got the following errors: --- Insert New (cloned) Instructions: ... <badref> = load i32* @strstart, align 4 <badref> = add i32<badref>, 2 <badref> = load i32* @ins_h, align 4 <badref> = getelementptr inbounds [65536 x i8]* @window, i32 0, i32<badref> <badref> = shl i32<badref>, 5 <badref> = load i8*&lt...
2011 May 09
0
[LLVMdev] <badref> showed up when duplicating a list of dependent instructions
...t;getInstList().insertAfter(pi, CloneI); // Inserts newInst after pi in pb > > // adjust pi: point to the newly inserted inst: > pi = CurI; > > }//end of for loop on p > > > However, I got the following errors: > > --- Insert New (cloned) Instructions: ... > <badref> = load i32* @strstart, align 4 > <badref> = add i32<badref>, 2 > <badref> = load i32* @ins_h, align 4 > <badref> = getelementptr inbounds [65536 x i8]* @window, i32 0, i32<badref> > <badref> = shl i32<badref>, 5 > &lt...
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
...} } } errs() << " (" << node << " ) node => " << *node << "\n"; } Strangely, the node my code finds *prints* the same, but the pointer is different: > scopeNode(0x7fe53dc6c2c0) => !{i32 786478, metadata <badref>, metadata <badref>, metadata !"grappa_wide_get_pointer", metadata !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*)* @grappa_wide_get_pointer, null, null, metadata &lt...
2012 Nov 02
4
[LLVMdev] Instruction does not dominate all uses! <badref> ??
...;Instruction does not dominate all uses!" means. I'm trying to construct a call to a function with two parameters. The printed IR, with error, looks like this: define i32 @add(i32, i32) { EntryBlock: %2 = add i32 %0, %1 ret i32 %2 } define i32 @eval_expr() { EntryBlock: ret i32 <badref> } Instruction does not dominate all uses! <badref> = call i32 @add(i32 2, i32 3) ret i32 <badref> And the approximate/simplified code I'm using to generate the call, which would appear at <badref> is: llvm::Value * func = module->getFunction( "add" );...
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
...(" << node << " ) node => " << *node << "\n"; >> } >> >> Strangely, the node my code finds *prints* the same, but the pointer is >> different: >> >> scopeNode(0x7fe53dc6c2c0) => !{i32 786478, metadata <badref>, metadata >> <badref>, metadata !"grappa_wide_get_pointer", metadata >> !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 >> false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*)* >> @grappa_wide_g...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...errs() << " (" << node << " ) node => " << *node << "\n"; > } > > Strangely, the node my code finds *prints* the same, but the pointer is > different: > > scopeNode(0x7fe53dc6c2c0) => !{i32 786478, metadata <badref>, metadata > <badref>, metadata !"grappa_wide_get_pointer", metadata > !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 > false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*)* > @grappa_wide_get_pointer, null...
2013 Dec 04
2
[LLVMdev] DwarfDebug problems
...0x00000001033015c3 main + 7283 > 23 libdyld.dylib 0x00007fff8e68d5fd start + 1 (note the line number of the assertion is probably different because I’ve added some prints to help me debug this) When I print the MDNode returned by “FnScope->getScopeNode()”, I get lots of <badref>’s: > !{i32 786478, metadata <badref>, metadata <badref>, metadata !"grappa_wide_get_pointer", metadata !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*)* @gr...
2012 Nov 02
0
[LLVMdev] Instruction does not dominate all uses! <badref> ??
...'m trying to construct a call to a function > with two parameters. The printed IR, with error, looks like this: > > define i32 @add(i32, i32) { > EntryBlock: > %2 = add i32 %0, %1 > ret i32 %2 > } > > define i32 @eval_expr() { > EntryBlock: > ret i32<badref> > } > > Instruction does not dominate all uses! > <badref> = call i32 @add(i32 2, i32 3) > ret i32<badref> It's correct but not entirely helpful. You've got an instruction in function @eval_expr whose operand is an instruction in an entirely differen...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...t;< " ) node => " << *node << "\n"; >>> } >>> >>> Strangely, the node my code finds *prints* the same, but the pointer is >>> different: >>> >>> scopeNode(0x7fe53dc6c2c0) => !{i32 786478, metadata <badref>, metadata >>> <badref>, metadata !"grappa_wide_get_pointer", metadata >>> !"grappa_wide_get_pointer", metadata !"", i32 53, metadata <badref>, i1 >>> false, i1 true, i32 0, i32 0, null, i32 256, i1 true, i8* (i8*)* >>&gt...
2013 Dec 04
0
[LLVMdev] DwarfDebug problems
...c3 main + 7283 >> 23 libdyld.dylib 0x00007fff8e68d5fd start + 1 > > (note the line number of the assertion is probably different because I’ve added some prints to help me debug this) > > When I print the MDNode returned by “FnScope->getScopeNode()”, I get lots of <badref>’s: The badrefs are a red herring, so far as I know - they're printed that way even when they're valid references, in my experience. That being said, given your assertion it does look like /something/ is up. It appears as if the function being emitted is somehow not visited when emitt...
2012 Aug 17
1
[LLVMdev] Debug information causing assertion
We have a test case where we are hitting an assertion in the X86 code generator. The assertion is: "Assertion failed: TheCU && "Unable to find compile unit!", file .\..\..\..\lib\CodeGen\AsmPrinter\DwarfDebug.cpp, line 1411" The bitcode is attached. What I am trying to figure out is what is malformed about our debug that is causing this error? This is reproducible
2009 Aug 11
1
[LLVMdev] globals, modules and badref.
While adapting my JIT compiler to ToT coming from 2.5, I found this: Referencing global in another module! %3 = bitcast [8 x i8]** <badref> to i8* ; <i8*> [#uses=1]Instruction <badref> is a naked (void*) pointer. This worked on 2.5 without problem. I tried creating a GlobalVariable: external constant [8 x i8]* ; <[8 x i8]**>:<badref> [#uses=0] but there it is <badref> again (an...
2013 Apr 09
3
[LLVMdev] Passing DW_TAG_typedef as the type to DIBuilder's createFunction
Hi David, I'm seeing an assertion failure when passing this node !{i32 786454, metadata <badref>, metadata <badref>, metadata !"fn_t", i32 5, i64 0, i64 0, i64 0, i32 0, metadata <badref>} ; [ DW_TAG_typedef ] [fn_t] [line 5, size 0, align 0, offset 0] [from ] as the function type parameter to DIBuilder::createFunction, due to this check in DebugInfo.cpp: 486 DI...
2012 Nov 02
2
[LLVMdev] Instruction does not dominate all uses! <badref> ??
...ion >> with two parameters. The printed IR, with error, looks like this: >> >> define i32 @add(i32, i32) { >> EntryBlock: >> %2 = add i32 %0, %1 >> ret i32 %2 >> } >> >> define i32 @eval_expr() { >> EntryBlock: >> ret i32<badref> >> } >> >> Instruction does not dominate all uses! >> <badref> = call i32 @add(i32 2, i32 3) >> ret i32<badref> > > It's correct but not entirely helpful. You've got an instruction in > function @eval_expr whose operand is an in...
2012 Nov 02
0
[LLVMdev] Instruction does not dominate all uses! <badref> ??
...#39;m trying to construct a call to a function > with two parameters. The printed IR, with error, looks like this: > > define i32 @add(i32, i32) { > EntryBlock: > %2 = add i32 %0, %1 > ret i32 %2 > } > > define i32 @eval_expr() { > EntryBlock: > ret i32 <badref> > } > > Instruction does not dominate all uses! > <badref> = call i32 @add(i32 2, i32 3) > ret i32 <badref> Looks like you forgot to add the call instruction to EntryBlock. > > > And the approximate/simplified code I'm using to generate the call,...
2013 Apr 09
0
[LLVMdev] Passing DW_TAG_typedef as the type to DIBuilder's createFunction
On Tue, Apr 9, 2013 at 1:53 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi David, I'm seeing an assertion failure when passing this node > > !{i32 786454, metadata <badref>, metadata <badref>, metadata !"fn_t", i32 > 5, i64 0, i64 0, i64 0, i32 0, metadata <badref>} ; [ DW_TAG_typedef ] > [fn_t] [line 5, size 0, align 0, offset 0] [from ] > > as the function type parameter to DIBuilder::createFunction, due to this > check >...
2015 Jul 11
7
[LLVMdev] instructions copy
Hi, I want to copy some dependent statements, like a = b, b = c, from one basicblock to another basicblocks. Because of SSA, a = b, will be like %1 = load %b, store %1, %a. If I just use clone() method in Instruction class, it will be like <badref> = load %b, store <badref>, %a. If I need remap the virtual registers, this map just will affect the whole module? And how to use it? I am a bit confused. Any suggestion will be appreciated. Best, Yuxi Uchicago -------------- next part -------------- An HTML attachment was scrubbed... UR...
2013 Jan 22
1
[LLVMdev] Confusion about Alias Analysis Results -print-no-aliases&&-print-alias-sets
...Pointers: (i32* %retval, 4)</div><div> AliasSet[0x93a80e0, 4] may alias, Mod/Ref Pointers: (void (%class.B*)*** %4, 4), (void (%class.B*)** %vfn, 4), (void (%class.B*)*** %9, 4), (void (%class.B*)** %vfn2, 4)</div><div> 6 Unknown instructions: i8* %call, void <badref>, void <badref>, void <badref>, void <badref>, void <badref></div><div><b><font color="#ff0000"> AliasSet[0x93a9ea8, 1] must alias, Mod/Ref Pointers: (%class.B** %p, 4)</font></b></div><div><b><font col...
2013 Apr 10
2
[LLVMdev] Passing DW_TAG_typedef as the type to DIBuilder's createFunction
Hi Eric, On 10/04/13 00:20, Eric Christopher wrote: > On Tue, Apr 9, 2013 at 1:53 AM, Duncan Sands <baldrick at free.fr> wrote: >> Hi David, I'm seeing an assertion failure when passing this node >> >> !{i32 786454, metadata <badref>, metadata <badref>, metadata !"fn_t", i32 >> 5, i64 0, i64 0, i64 0, i32 0, metadata <badref>} ; [ DW_TAG_typedef ] >> [fn_t] [line 5, size 0, align 0, offset 0] [from ] >> >> as the function type parameter to DIBuilder::createFunction, due to this...
2002 Nov 27
1
[LLVMdev] Instruciton replacement
...I)->getParent()->getInstList().erase(*I); // delete (*I); // delete(AI); } break; running the code will report: Leaked objects found: after running pass 'move memory objects from the heap to the stack' LLVM Value subclasses leaked: alloca uint ; <uint*>:<badref> [#uses=2] This is probably because you removed an LLVM value (Instruction, BasicBlock, etc), but didn't delete it. Please check your code for memory leaks. Assertion failed: slot != -1 && "Broken bytecode!", file WriteInst.cpp, line 191 Abort If I uncomment the (delete(...