search for: is_stmt

Displaying 20 results from an estimated 34 matches for "is_stmt".

2020 Sep 01
2
Filename's in DIBuileder
...name: "test.cpp" dir_index: 1 mod_time: 0x00000000 length: 0x00000000 Address Line Column File ISA Discriminator Flags ------------------ ------ ------ ------ --- ------------- ------------- 0x0000000000000000 12 0 1 0 0 is_stmt 0x0000000000000008 13 1 1 0 0 is_stmt prologue_end 0x0000000000000010 16 0 1 0 0 is_stmt 0x0000000000000018 17 1 1 0 0 is_stmt prologue_end 0x0000000000000020 20 0 1 0 0 is_stmt 0x000...
2017 Sep 18
5
Interleaved debug info on arm
When compiling code with lld -O0 --lto-O0 --eh-frame-hdr I get strange interleaved line info all over the place: ... 0x00000000000595ac 22 11 1 0 0 is_stmt 0x00000000000595bc 25 7 1 0 0 is_stmt <<< 0x00000000000595c0 22 11 1 0 0 is_stmt 0x00000000000595c4 25 7 1 0 0 is_stmt <<< 0x00000000000595c8 26 7 1 0 0 is_stmt but the code only has 1 reference to line 25 and the references to line 22 all precede that: ; Function Attrs: uwtab...
2020 Sep 01
4
Filename's in DIBuileder
...name: "test.cpp" dir_index: 1 mod_time: 0x00000000 length: 0x00000000 Address Line Column File ISA Discriminator Flags ------------------ ------ ------ ------ --- ------------- ------------- 0x0000000000000000 12 0 1 0 0 is_stmt 0x0000000000000008 13 1 1 0 0 is_stmt prologue_end 0x0000000000000010 16 0 1 0 0 is_stmt 0x0000000000000018 17 1 1 0 0 is_stmt prologue_end 0x0000000000000020 20 0 1 0 0 is_stmt 0x000...
2019 Dec 17
2
is_stmt and column numbers
It appears to me that from this: https://iis-git.ee.ethz.ch/H2020-Compiler/llvm/commit/1d68fc5021ca8c704e21f171d98bb18eb396a7fa That LLVM basically emits DWARF expressions where is_stmt is true only "once per line". Is that still true? Is there an option to emit more than one per line? Thanks all. -Roger Pack- refs: https://github.com/crystal-lang/crystal/pull/8499 https://github.com/crystal-lang/crystal/issues/8319
2018 Jun 21
2
[RFC] Removing debug locations from ConstantSDNodes
Isn't this a typcial situation when the is_stmt field in the DWARF line table should be used? If we set is_stmt=0 for the instruction loading the constant, then a debugger can choose not to stop on that instruction when doing "step" on source level. That way we can keep the original source location for a ConstantSDNode, but also telli...
2013 Apr 26
0
[LLVMdev] Inconsistent use of is_stmt flag in .debug_line
Hello, A recent series of commits, ending with r169304 and relating to PR13303, add is_stmt to line entries for functions. This appears to be to work around problems with gdb. However, I observe is_stmt is not always applied to line entries for functions. This may only affect the arm backend. Compiling the same code with the aarch64 backend does not demonstrate this problem. It seems th...
2016 Dec 15
2
Debug Locations for Optimized Code
...gt; > >> puzzle it over & see if the competing needs/desires might need > > >> to > > >> be > > > >> considered. > > > > One thing that I recall being discussed was changing the way that > > > we > > > > set the is_stmt flag in the DWARF line-table information. As I > > > > understand it, we currently set this flag for the first > > > instruction > > > in > > > > any sequence that is on the same line. This is, in part, why the > > > > debugger appears to jum...
2016 Dec 15
0
Debug Locations for Optimized Code
...s - but I > >> thought I should bring it up in case you or anyone else wanted to > >> puzzle it over & see if the competing needs/desires might need to be > >> considered. > > One thing that I recall being discussed was changing the way that we > > set the is_stmt flag in the DWARF line-table information. As I > > understand it, we currently set this flag for the first instruction in > > any sequence that is on the same line. This is, in part, why the > > debugger appears to jump around when stepping through code with > > speculated i...
2018 Jun 26
2
Instruction boundaries
...DCD loc_AB70 However, inside the line table. The description is end at 0xa39c. Do you have any ideas? 196 0x000000000000a38c 956 7 1 0 0 197 0x000000000000a39c 0 7 1 0 0 198 0x000000000000a7d8 959 27 1 0 0 is_stmt 199 0x000000000000a7f8 959 25 1 0 0 200 0x000000000000a7fc 961 11 1 0 0 is_stmt 201 0x000000000000a800 964 15 1 0 0 is_stmt 202 0x000000000000a808 964 15 1 0 0 Regards Muhui 2018-06-...
2018 Jun 26
2
Instruction boundaries
Hi paulr Thanks for your reply. Though DWARF info give me the code address ranges, there might be inline data. If so, how to handle this case? As for the dwarf line table. Sometimes, the source line might be zero. Do you know why? If all instructions should be describe in the line table, I think analyzing Dwarf line table is enough to get all the instructions addresses. Do you agree? I would
2014 Feb 19
2
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
...0x0000008d}) > > 0x00000097: NULL > > .debug_frame contents: > > > .debug_aranges contents: > > .debug_line contents: > Line table prologue: > total_length: 0x00000037 > version: 2 > prologue_length: 0x0000001d > min_inst_length: 1 > default_is_stmt: 1 > line_base: -5 > line_range: 14 > opcode_base: 13 > standard_opcode_lengths[DW_LNS_copy] = 0 > standard_opcode_lengths[DW_LNS_advance_pc] = 1 > standard_opcode_lengths[DW_LNS_advance_line] = 1 > standard_opcode_lengths[DW_LNS_set_file] = 1 > standard_opcod...
2016 Dec 07
6
Debug Locations for Optimized Code
...f any, solution to this is - but I >> thought I should bring it up in case you or anyone else wanted to >> puzzle it over & see if the competing needs/desires might need to be >> considered. > One thing that I recall being discussed was changing the way that we > set the is_stmt flag in the DWARF line-table information. As I > understand it, we currently set this flag for the first instruction in > any sequence that is on the same line. This is, in part, why the > debugger appears to jump around when stepping through code with > speculated instructions, etc. If...
2014 Feb 18
1
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
All of this information is contained in the DWARF debug info that you must generate. Are you generating DWARF? If not, you will need to. If so, please attach an example program that contains DWARF and specify which function you are having trouble getting variable information for. Greg Clayton On Feb 18, 2014, at 12:44 AM, 杨勇勇 <triple.yang at gmail.com> wrote: > Hi, all > > I
2018 Jun 26
2
Instruction boundaries
...DCD loc_AB70 However, inside the line table. The description is end at 0xa39c. Do you have any ideas? 196 0x000000000000a38c 956 7 1 0 0 197 0x000000000000a39c 0 7 1 0 0 198 0x000000000000a7d8 959 27 1 0 0 is_stmt 199 0x000000000000a7f8 959 25 1 0 0 200 0x000000000000a7fc 961 11 1 0 0 is_stmt 201 0x000000000000a800 964 15 1 0 0 is_stmt 202 0x000000000000a808 964 15 1 0 0 Regards Muhui 2018-06-...
2014 Feb 18
4
[LLVMdev] How is variable info retrieved in debugging for executables generated by llvm backend?
Hi, all I ported llvm backend and lldb recently. Both tools can basically work. lldb is able to debug programs in asm style and frame unwinding is OK. But "frame variable XX" does not work because lldb is not able to determine the address of XX from debug info. Can someone give any clue? Thanks in advance. -- 杨勇勇 (Yang Yong-Yong) -------------- next part -------------- An HTML
2020 Sep 22
2
Optimised-code debugging experience Round Table
...bugging experience Round Table yet so here goes! Please let me know if you are interested by emailing me at: orlando.hyams at sony.com Below is a non-exhaustive list of possible topics. Feel free to include any preferences and suggestions in your response. a. Line tables: 1. Can we fix is_stmt? 2. Is prologue_end reliable? 3. General stepping behaviour/quality. b. Variable locations: 1. The state of DW_OP_entry_values in llvm. 2. The state of the instruction-referencing DBG_VALUE work. 3. The state of multi-register DWARF expressions in llvm. 4. The possibility...
2020 Sep 23
3
Optimised-code debugging experience Round Table
...the debugging experience by letting the debugger do a better job of mapping the executing program to the original source, because the data it works with is more accurate/complete. * This is basically about IR/Metadata handling and representation, although it might leak into things like the “is_stmt” flag, and doing better with “prologue_end,” which are currently handled by AsmPrinter. * Better handling of induction variables, entry-values, variables with multiple locations, etc. 2. Changes to optimization passes/pipelines and codegen, to avoid borking the source-location and value/v...
2012 Feb 16
2
[LLVMdev] difference in function prologue generated with clang and gcc
...v_char = 'A'; Raw dump of debug contents of section .debug_line: Offset: 0x0 Length: 74 *DWARF Version: 2 * Prologue Length: 34 Minimum Instruction Length: 2 Initial value of 'is_stmt': 1 Line Base: -5 Line Range: 14 Opcode Base: 13 ################################################################################################################################### Dissassembly of main() from all-types...
2018 Jun 20
5
[RFC] Removing debug locations from ConstantSDNodes
FWIW: Debug information on constants feels odd to me. They are just values not something that is executed so conceptually I would not expect them to "happen" at a specific time/place in the program. That said most numbers are copied into registers or stored into memory and that is of course an interesting action. So in the original example I would hope to see debug info on whatever
2016 Dec 02
2
Libfuzzer depending on uninitialized debug info
...dummy.c:1:0 pushq %rax .Lcfi0: .cfi_def_cfa_offset 16 movl $.L__sancov_gen_, %edi callq __sanitizer_cov_trace_pc_guard % clang -O -c -gmlt -fsanitize-coverage=func,trace-pc-guard -S dummy.c -mllvm -use-unknown-locations -o - .LBB0_1: .loc 1 1 0 is_stmt 0 # dummy.c:1:0 pushq %rax .loc 1 0 0 # :0:0 .Lcfi0: .cfi_def_cfa_offset 16 .loc 1 1 0 is_stmt 1 # dummy.c:1:0 movl $.L__sancov_gen_, %edi callq __sanitizer_cov_trace_pc_guard Then, when I addr2line the...