diff options
author | Reid Kleckner <rnk@google.com> | 2017-08-29 21:41:21 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-08-29 21:41:21 +0000 |
commit | a058736c9c9204d5f9f67f8bb56aa4a943acf137 (patch) | |
tree | 114e3a13f5693db803eec51dc28fc3c668979ff8 /llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll | |
parent | 2d69c924f786ead02f9a857bffe57e66a32a605a (diff) | |
download | bcm5719-llvm-a058736c9c9204d5f9f67f8bb56aa4a943acf137.tar.gz bcm5719-llvm-a058736c9c9204d5f9f67f8bb56aa4a943acf137.zip |
[dwarfdump] Pretty print location expressions and location lists
Summary:
Based on Fred's patch here: https://reviews.llvm.org/D6771
I can't seem to commandeer the old review, so I'm creating a new one.
With that change the locations exrpessions are pretty printed inline in the
DIE tree. The output looks like this for debug_loc entries:
DW_AT_location [DW_FORM_data4] (0x00000000
0x0000000000000001 - 0x000000000000000b: DW_OP_consts +3
0x000000000000000b - 0x0000000000000012: DW_OP_consts +7
0x0000000000000012 - 0x000000000000001b: DW_OP_reg0 RAX, DW_OP_piece 0x4
0x000000000000001b - 0x0000000000000024: DW_OP_breg5 RDI+0)
And like this for debug_loc.dwo entries:
DW_AT_location [DW_FORM_sec_offset] (0x00000000
Addr idx 2 (w/ length 190): DW_OP_consts +0, DW_OP_stack_value
Addr idx 3 (w/ length 23): DW_OP_reg0 RAX, DW_OP_piece 0x4)
Simple locations without ranges are printed inline:
DW_AT_location [DW_FORM_block1] (DW_OP_reg4 RSI, DW_OP_piece 0x4, DW_OP_bit_piece 0x20 0x0)
The debug_loc(.dwo) dumping in changed accordingly to factor the code.
Reviewers: dblaikie, aprantl, friss
Subscribers: mgorny, javed.absar, hiraditya, llvm-commits, JDevlieghere
Differential Revision: https://reviews.llvm.org/D37123
llvm-svn: 312042
Diffstat (limited to 'llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll')
-rw-r--r-- | llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll index 2257db16051..0bd28214089 100644 --- a/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll +++ b/llvm/test/DebugInfo/Generic/incorrect-variable-debugloc1.ll @@ -23,8 +23,11 @@ ; return c; ; } -; DWARF23: Location description: 10 0d {{$}} -; DWARF4: Location description: 10 0d 9f +; CHECK: DW_TAG_variable +; CHECK: DW_AT_location +; CHECK-NOT: DW_AT +; DWARF23: DW_OP_constu 0xd{{$}} +; DWARF4: DW_OP_constu 0xd, DW_OP_stack_value{{$}} ; Function Attrs: uwtable define i32 @main() #0 !dbg !4 { |