search for: stoppoint

Displaying 20 results from an estimated 87 matches for "stoppoint".

2009 Sep 24
3
[LLVMdev] Is line number in DbgStopPointInst in LLVM accurate?
Dear developers, When I try to map line numbers in source code back to LLVM basicblocks, I meet some problems: there is a source file with 1500 lines of code, but when I use BasicBlockPass to collect all DbgStopPoint instructions in this file, I can only get 500 lines of code. The source code and the collected results are both attached. Is there any way to map line numbers in source code back to an LLVM basicblock precisely? Can LLVM-2.6 do this? Thanks, Heming -------------- next part ----------...
2009 Apr 06
2
[LLVMdev] debug stoppoint nodes with -fast option
I need to generate line number debug information for PIC16 target. PIC16 does not support dwarf format. It supports coff format. So I need to custom handle the STOPPOINT nodes. Without -fast option the STOPPOINT nodes are not created in dag because of the below check in SelectionDAGBuild.cpp if (Fast) DAG.setRoot(DAG.getDbgStopPoint(getRoot(), If I give -fast option then the Fast flag is true, but the dag doesn't contain STOPPOINT nodes. If I...
2009 May 08
2
[LLVMdev] Some questions on the output formats of AliasSetTracker
...} The output for -anders-aa is: Alias Set Tracker: 5 alias sets for 4 pointer values. AliasSet[0xea6fb0,0] may alias, Mod/Ref 10 Call Sites: void ({ }*)* @llvm.dbg.func.start, void ({ }*, { }*)* @llvm.dbg.declare, void ({ }*, { }*)* @llvm.dbg.declare, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void ({ }*)* @llvm.dbg.region.end AliasSet[0xea7040,1] must alias,...
2009 Apr 06
0
[LLVMdev] debug stoppoint nodes with -fast option
On Apr 5, 2009, at 11:54 PMPDT, vasudev wrote: > I need to generate line number debug information for PIC16 target. > PIC16 does not support dwarf format. It supports coff format. So I > need > to custom handle the STOPPOINT nodes. Without -fast option the > STOPPOINT > nodes are not created in dag because of the below check in > SelectionDAGBuild.cpp > if (Fast) > DAG.setRoot(DAG.getDbgStopPoint(getRoot(), > If I give -fast option then the Fast flag is true, but the dag doesn't >...
2009 Apr 08
2
[LLVMdev] debug stoppoint nodes with -fast option
...variables? Dale Johannesen wrote: > On Apr 5, 2009, at 11:54 PMPDT, vasudev wrote: > > >> I need to generate line number debug information for PIC16 target. >> PIC16 does not support dwarf format. It supports coff format. So I >> need >> to custom handle the STOPPOINT nodes. Without -fast option the >> STOPPOINT >> nodes are not created in dag because of the below check in >> SelectionDAGBuild.cpp >> if (Fast) >> DAG.setRoot(DAG.getDbgStopPoint(getRoot(), >> If I give -fast option then the Fast flag is true, but t...
2009 May 08
0
[LLVMdev] Some questions on the output formats of AliasSetTracker
...s-sets &> output-anders.txt): Alias Set Tracker: 5 alias sets for 4 pointer values. AliasSet[0xea6fb0,0] may alias, Mod/Ref 10 Call Sites: void ({ }*)* @llvm.dbg.func.start, void ({ }*, { }*)* @llvm.dbg.declare, void ({ }*, { }*)* @llvm.dbg.declare, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void ({ }*)* @llvm.dbg.region.end AliasSet[0xea7040,1] must alias, Mod/...
2009 Apr 08
0
[LLVMdev] debug stoppoint nodes with -fast option
...st option ISD::DECLARE nodes are not created. How can i > access the debug info for local variables in that case? Is it > available > directly somewhere in AsmPrinter like the debug info for global > variables? Not yet. The Declare nodes interfere with optimizations, as do the Stoppoint nodes: they count as an extra Use, which affects many optimizations that are looking for a single Use (of the alloca node, or whatever). Rather than try to hunt these all down, the plan is to reimplement declarations in a way that isn't represented as a Use. This is in the early sta...
2009 Nov 17
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
...>> >> Currently, I extract this debug information by compiling with -g. >> This works fine with "llvm-gcc -g -O0 --emit-llvm", i.e. no >> optimizations, but when I enable optimizations, e.g. "llvm-gcc -g -O2 >> --emit-llvm", >> most of the dbg.stoppoint and dbg.declare instructions dissapear. >> >> I tried to enable at least debug.declare instructions by removing the >> "if(optimize) return" statement in gcc/llvm-debug.cpp, >> DebugInfo::EmitDeclare(), but I still do not get any dbg.declare >> instructions....
2008 Nov 03
0
[LLVMdev] Optimizations and debug info
...loops aren't transformed to > canonical form either. Right. > So we could: > - teach GVN that a dependency on a debug instruction is not a real > one, > and should ignore it > - teach GVN to remove stale dbg info due to its transformations > - if we cannot preserve dbg.stoppoint we may try to preserve > region.begin() and region.end() [or convert stoppoints to regions] I'd really like to avoid removing stoppoints unless they are redundant: two stoppoints that are right next to each other, so they represent the exact same state. Currently, I'm thinking that...
2004 Oct 14
1
[LLVMdev] debug stoppoints and control flow
Hi, I'm just getting back to working on the cfe debug info after a brief hiatus. It appears that the appropriate place to be inserting stoppoints is starting in llvm_expand_stmt, using STMT_LINENO(t) . If that's not the best place, comments would be appreciated. Using the debug_hooks seems to be a non-starter, because they're called during rtl generation, which apparently isn't done when EMIT_LLVM is set. A more pressing quest...
2008 Oct 31
2
[LLVMdev] Optimizations and debug info
[Moving discussion to LLVMdev] On 2008-10-31 21:55, Dan Gohman wrote: > Hi Török, > > @llvm.dbg.stoppoint actually does read and write memory, in a > sense. It's a point where a user could stop in a debugger, and > use the debugger to both read and write memory. If the optimizers > are allowed to reorder or delete memory operations, these > intrinsics will become inconsistent with the a...
2009 May 08
1
[LLVMdev] Some questions on the output formats of AliasSetTracker
...have modified the XX and YY to be global variables, but the output of AliasSetTracker are still MUST alias: Alias Set Tracker: 5 alias sets for 4 pointer values. AliasSet[0xea55d0,0] may alias, Mod/Ref 8 Call Sites: void ({ }*)* @llvm.dbg.func.start, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void ({ }*)* @llvm.dbg.region.end AliasSet[0xeb81e0,1] must alias,...
2009 Nov 17
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
...> >> Without mem2reg pass, you're unlikely to get much optimization done on your IR. > > Clear, thanks! I presume the mem2reg pass is also essential in the > CLang frontend, so CLang is not an alternative to llvm-gcc to keep > more debug information? Yes. > For the dbg.stoppoints: many of the stoppoint instructions dissapear > at higher optimization levels. We need these to link back instructions > to original C statements. I guess this is not related to the mem2reg > pass. Is there a way to at least keep the stoppoint instructions? Good news. In mainline svn sou...
2008 Nov 03
2
[LLVMdev] Optimizations and debug info
.... >> > > Right. > > >> So we could: >> - teach GVN that a dependency on a debug instruction is not a real >> one, >> and should ignore it >> - teach GVN to remove stale dbg info due to its transformations >> - if we cannot preserve dbg.stoppoint we may try to preserve >> region.begin() and region.end() [or convert stoppoints to regions] >> > > I'd really like to avoid removing stoppoints unless they are > redundant: two stoppoints that are right next to each other, so they > represent the exact same sta...
2009 Sep 30
2
[LLVMdev] Internalize pass
...nd I've run into a strange problem: I have a 'main' function that looks like this: define i32 @"main(tart.core.Array[tart.core.String])->int"(%"tart.core.Array[tart.core.String]"* %args) { entry: call void @llvm.dbg.func.start(metadata !0) call void @llvm.dbg.stoppoint(i32 2, i32 19, metadata !1) %integerLimitsTest = call { } @integerLimitsTest() ; <{ }> [#uses=0] call void @llvm.dbg.stoppoint(i32 3, i32 21, metadata !1) %integerToStringTest = call { } @integerToStringTest() ; <{ }> [#uses=0] call void @llvm.dbg.stoppoint(i32 4, i32 9, metadat...
2009 Apr 18
1
[LLVMdev] debug stoppoint nodes with -fast option
.... How can i >> access the debug info for local variables in that case? Is it >> available >> directly somewhere in AsmPrinter like the debug info for global >> variables? >> > > Not yet. The Declare nodes interfere with optimizations, as do the > Stoppoint nodes: they count as an extra Use, which affects many > optimizations that are looking for a single Use (of the alloca node, > or whatever). Rather than try to hunt these all down, the plan is to > reimplement declarations in a way that isn't represented as a Use. > This...
2009 Nov 16
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
...ation levels beyond O0? > > Currently, I extract this debug information by compiling with -g. > This works fine with "llvm-gcc -g -O0 --emit-llvm", i.e. no > optimizations, but when I enable optimizations, e.g. "llvm-gcc -g -O2 > --emit-llvm", > most of the dbg.stoppoint and dbg.declare instructions dissapear. > > I tried to enable at least debug.declare instructions by removing the > "if(optimize) return" statement in gcc/llvm-debug.cpp, > DebugInfo::EmitDeclare(), but I still do not get any dbg.declare > instructions. This will enable db...
2009 Nov 13
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
...debug information at optimization levels beyond O0? Currently, I extract this debug information by compiling with -g. This works fine with "llvm-gcc -g -O0 --emit-llvm", i.e. no optimizations, but when I enable optimizations, e.g. "llvm-gcc -g -O2 --emit-llvm", most of the dbg.stoppoint and dbg.declare instructions dissapear. I tried to enable at least debug.declare instructions by removing the "if(optimize) return" statement in gcc/llvm-debug.cpp, DebugInfo::EmitDeclare(), but I still do not get any dbg.declare instructions. Is there a way to keep all debug informatio...
2009 Oct 03
2
[LLVMdev] Internalize pass
...function that looks like this: >> >> define i32 >> @"main(tart.core.Array[tart.core.String])->int"(%"tart.core.Array[tart.core.String]"* >> %args) { >> entry: >> call void @llvm.dbg.func.start(metadata !0) >> call void @llvm.dbg.stoppoint(i32 2, i32 19, metadata !1) >> %integerLimitsTest = call { } @integerLimitsTest() ; <{ }> [#uses=0] >> call void @llvm.dbg.stoppoint(i32 3, i32 21, metadata !1) >> %integerToStringTest = call { } @integerToStringTest() ; <{ }> >> [#uses=0] >> call...
2009 Sep 30
0
[LLVMdev] Internalize pass
...gt; > I have a 'main' function that looks like this: > > define i32 @"main(tart.core.Array[tart.core.String])- > >int"(%"tart.core.Array[tart.core.String]"* %args) { > entry: > call void @llvm.dbg.func.start(metadata !0) > call void @llvm.dbg.stoppoint(i32 2, i32 19, metadata !1) > %integerLimitsTest = call { } @integerLimitsTest() ; <{ }> [#uses=0] > call void @llvm.dbg.stoppoint(i32 3, i32 21, metadata !1) > %integerToStringTest = call { } @integerToStringTest() ; <{ }> > [#uses=0] > call void @llvm.dbg.stop...