[PATCH] D76336: [DWARF] Emit DW_AT_call_pc for tail calls

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 18 00:31:27 PDT 2020


djtodoro added inline comments.


================
Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:873
       const MCSymbol *PCAddr =
           (IsTail && !tuneForGDB())
               ? nullptr
----------------
Looks like the `dwarf::DW_AT_call_return_pc` is enough for GDB to distinguish that even for tail calls. Can we do the same for LLDB and avoid the `call_pc`?




================
Comment at: llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir:17
 #
 # extern void fn();
 # extern void fn2(int x);
----------------
GCC produces this:
   <2><9a>: Abbrev Number: 9 (DW_TAG_GNU_call_site)
      <9b>   DW_AT_low_pc      : 0x23
      <a3>   DW_AT_GNU_tail_call: 1
      <a3>   DW_AT_abstract_origin: <0xd4>


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76336/new/

https://reviews.llvm.org/D76336





More information about the llvm-commits mailing list