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

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 20 14:40:15 PDT 2020


vsk updated this revision to Diff 251768.
vsk added a comment.

Per @djtodoro's suggestion, avoid emitting DW_AT_call_pc when tuning for gdb. We already emit AT_call_return_pc in this case, which seems weird/wrong to me, but that's what gdb expects to see it seems.

There's a side discussion here about how to determine when to emit call site entries). I think that ought to be considered separately. It looks like there are compelling use cases for mixing -O0 & optimized code -- if there's enough interest in this, and the size overhead looks reasonable, we might consider turning on call site entries at -O0 (possibly gated behind a flag).


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

https://reviews.llvm.org/D76336

Files:
  llvm/include/llvm/DWARFLinker/DWARFLinker.h
  llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  llvm/lib/DWARFLinker/DWARFLinker.cpp
  llvm/test/DebugInfo/MIR/X86/call-site-gnu-vs-dwarf5-attrs.mir
  llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll
  llvm/test/tools/dsymutil/X86/Inputs/tail-call.cpp
  llvm/test/tools/dsymutil/X86/Inputs/tail-call.macho.x86_64
  llvm/test/tools/dsymutil/X86/Inputs/tail-call.macho.x86_64.o
  llvm/test/tools/dsymutil/X86/tail-call-linking.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76336.251768.patch
Type: text/x-patch
Size: 12989 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200320/a4a62fe9/attachment.bin>


More information about the llvm-commits mailing list