[PATCH] D102978: [WebAssembly] Add TargetInstrInfo::getCalleeOperand
Heejin Ahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 25 00:19:28 PDT 2021
aheejin added inline comments.
================
Comment at: llvm/test/DebugInfo/WebAssembly/call-site.ll:23
+; CHECK: DW_AT_name ("call_indirect")
+; CHECK: 0x00000065: DW_TAG_GNU_call_site
+
----------------
djtodoro wrote:
> why don't we have here an additional CHECK for the register that holds the indirect call (`DW_AT_GNU_call_site_target`)?
It doesn't have it. Am I doing something wrong? This is the full llvm-dwarfdump output for this file.
```
call-site.o: file format WASM
.debug_info contents:
0x00000000: Compile Unit: length = 0x00000068, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x0000006c)
0x0000000b: DW_TAG_compile_unit
DW_AT_producer ("clang version 11.0.0")
DW_AT_language (DW_LANG_C99)
DW_AT_name ("test.c")
DW_AT_stmt_list (0x00000000)
DW_AT_comp_dir ("/home/llvm-project")
DW_AT_GNU_pubnames (true)
DW_AT_low_pc (0x00000000)
DW_AT_ranges (0x00000000
[0x00000002, 0x0000000a)
[0x0000000b, 0x0000001a))
0x00000026: DW_TAG_subprogram
DW_AT_low_pc (0x00000002)
DW_AT_high_pc (0x0000000a)
DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
DW_AT_GNU_all_call_sites (true)
DW_AT_name ("call_direct")
DW_AT_decl_file ("/home/llvm-project/test.c")
DW_AT_decl_line (3)
DW_AT_external (true)
0x0000003d: DW_TAG_GNU_call_site
DW_AT_abstract_origin (0x00000047 "foo")
DW_AT_low_pc (0x00000009)
0x00000046: NULL
0x00000047: DW_TAG_subprogram
DW_AT_name ("foo")
DW_AT_decl_file ("/home/llvm-project/test.c")
DW_AT_decl_line (30)
DW_AT_declaration (true)
DW_AT_external (true)
0x0000004e: DW_TAG_subprogram
DW_AT_low_pc (0x0000000b)
DW_AT_high_pc (0x0000001a)
DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value)
DW_AT_GNU_all_call_sites (true)
DW_AT_name ("call_indirect")
DW_AT_decl_file ("/home/llvm-project/test.c")
DW_AT_decl_line (3)
DW_AT_external (true)
0x00000065: DW_TAG_GNU_call_site
DW_AT_low_pc (0x00000019)
0x0000006a: NULL
0x0000006b: NULL
```
It only seems to contain
```
0x00000065: DW_TAG_GNU_call_site
DW_AT_low_pc (0x00000019)
```
for the indirect call. I'm not very familiar with dwarf info stuff myself, so please let me know if something is missing. Thanks.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102978/new/
https://reviews.llvm.org/D102978
More information about the llvm-commits
mailing list