search for: stoppoints

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

Did you mean: 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
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
2009 May 08
2
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff, Here are some questions on the output formats of AliasSetTracker. The code is as below: int G1 = 9; int G2 = 5; int main() { int * XX; int * YY; XX = &G1; YY = XX; YY = &G2; XX = &G2; } 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 ({ }*)*
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)
2009 Apr 08
2
[LLVMdev] debug stoppoint nodes with -fast option
Thanks for the info regarding DebugLoc field. Another related question that I have is regarding debug info for local variables. With -fast option, ISD::DECLARE nodes are created in DAG for debug info of local variables. I am planning to custom handle these nodes, get the required info from llvm.dbg.variable global address and emit it in ISel. But without -fast option ISD::DECLARE nodes
2009 May 08
0
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff, Here are some questions on the output formats of AliasSetTracker. The code is as below: int G1 = 9; int G2 = 5; int main() { int * XX; int * YY; XX = &G1; YY = XX; YY = &G2; XX = &G2; } The output for -anders-aa is (the command is: opt -anders-aa test.bc -disable-output -print-alias-sets &>
2009 Apr 08
0
[LLVMdev] debug stoppoint nodes with -fast option
On Apr 7, 2009, at 9:52 PMPDT, vasudev wrote: > Thanks for the info regarding DebugLoc field. Another related > question > that I have is regarding debug info for local variables. With -fast > option, ISD::DECLARE nodes are created in DAG for debug info of local > variables. I am planning to custom handle these nodes, get the > required > info from llvm.dbg.variable
2009 Nov 17
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
...t;> info correct that is fine. > > 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? 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? > > We're working on the required su...
2008 Nov 03
0
[LLVMdev] Optimizations and debug info
...ould: > - 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 it would make sense to have instcombine zap two stoppoints that are right next...
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 questi...
2008 Oct 31
2
[LLVMdev] Optimizations and debug info
...canonical form either. 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] Consider you are debugging a crash in optimized code: Hey, your program crashed somewhere in function foo in foo.o vs. Hey, your program crashed in function foo in region foo1.c:100 - foo1.c:120 Also preserving debug info about variable names can be useful. http://nondot.org/sab...
2009 May 08
1
[LLVMdev] Some questions on the output formats of AliasSetTracker
Quoting Eli Friedman <eli.friedman at gmail.com>: Dear Eli, Thanks very much for your reply. I 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, { }*)*
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 sour...
2008 Nov 03
2
[LLVMdev] Optimizations and debug info
...VN 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 it would > make sense to have instcombine za...
2009 Sep 30
2
[LLVMdev] Internalize pass
I'm playing around with different combinations of LTO passes, and 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
2009 Apr 18
1
[LLVMdev] debug stoppoint nodes with -fast option
Can we help in local variable debug info work. Dale Johannesen wrote: > On Apr 7, 2009, at 9:52 PMPDT, vasudev wrote: > > >> Thanks for the info regarding DebugLoc field. Another related >> question >> that I have is regarding debug info for local variables. With -fast >> option, ISD::DECLARE nodes are created in DAG for debug info of local >>
2009 Nov 16
0
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hi Martijn On Fri, Nov 13, 2009 at 4:52 AM, Martijn <martijn at martijnrutten.com> wrote: > Hello, > > I use llvm and llvm-gcc as a C-to-C transformation tool using a > modified version of the c backend, and rely on llvm debug instructions > to link back to the original source code. > > Does anyone know how to get detailed line number and variable debug > information
2009 Nov 13
2
[LLVMdev] llvm-gcc: missing dbg.declare/dbg.stoppoint at optimization level > O0
Hello, I use llvm and llvm-gcc as a C-to-C transformation tool using a modified version of the c backend, and rely on llvm debug instructions to link back to the original source code. Does anyone know how to get detailed line number and variable debug information at optimization levels beyond O0? Currently, I extract this debug information by compiling with -g. This works fine with
2009 Oct 03
2
[LLVMdev] Internalize pass
Well, after some investigation I have a few more clues as to what is going on. I have a module which contains a call to an external native function. This native function lives in a static library, and there is an external declaration for it in the module. I find that I can run "llvm-ld -disable-opts -native -l mylibrary test.bc" and it works fine. That is, llvm-ld is able to
2009 Sep 30
0
[LLVMdev] Internalize pass
On Sep 30, 2009, at 12:06 AM, Talin wrote: > I'm playing around with different combinations of LTO passes, and > 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