[all-commits] [llvm/llvm-project] 568db7: [CGDebugInfo] Emit subprograms for decls when AT_t...

Vedant Kumar via All-commits all-commits at lists.llvm.org
Tue Nov 19 12:52:50 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 568db780bb7267651a902da8e85bc59fc89aea70
      https://github.com/llvm/llvm-project/commit/568db780bb7267651a902da8e85bc59fc89aea70
  Author: Vedant Kumar <vsk at apple.com>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeGen/debug-info-extern-call.c
    M clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp
    M llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll

  Log Message:
  -----------
  [CGDebugInfo] Emit subprograms for decls when AT_tail_call is understood (reland with fixes)

Currently, clang emits subprograms for declared functions when the
target debugger or DWARF standard is known to support entry values
(DW_OP_entry_value & the GNU equivalent).

Treat DW_AT_tail_call the same way to allow debuggers to follow cross-TU
tail calls.

Pre-patch debug session with a cross-TU tail call:

```
  * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
    frame #1: 0x0000000100000f99 main`main at a.c:8:10 [opt]
```

Post-patch (note that the tail-calling frame, "helper", is visible):

```
  * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt]
    frame #1: 0x0000000100000f80 main`helper [opt] [artificial]
    frame #2: 0x0000000100000f99 main`main at a.c:8:10 [opt]
```

This was reverted in 5b9a072c because it attached declaration
subprograms to inlinable builtin calls, which interacted badly with the
MergeICmps pass. The fix is to not attach declarations to builtins.

rdar://46577651

Differential Revision: https://reviews.llvm.org/D69743


  Commit: 0d4211f4e753057feec32938e596d037d4f5a6aa
      https://github.com/llvm/llvm-project/commit/0d4211f4e753057feec32938e596d037d4f5a6aa
  Author: Vedant Kumar <vsk at apple.com>
  Date:   2019-11-19 (Tue, 19 Nov 2019)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingFile.c

  Log Message:
  -----------
  [profile] Address unused function warnings on Windows after D69586

This '#ifdef's out two functions which are unused on Windows, to prevent
-Wunused-function warnings.


Compare: https://github.com/llvm/llvm-project/compare/75b5db309439...0d4211f4e753


More information about the All-commits mailing list