[clang] [llvm] [clang][DebugInfo] Add virtual call-site target information in DWARF. (PR #167666)

Carlos Alberto Enciso via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 9 01:24:49 PST 2026


CarlosAlbertoEnciso wrote:

With the suggested direction from @dwblaikie (re: lazily producing the function declarations) and an additional suggested change (re: DW_AT_LLVM_virtual_call_origin always pointing to the method declaration), a simplified DWARF looks like:
```
// Subprogram 'bar'
DW_TAG_subprogram ("bar")

  DW_TAG_call_site
    DW_AT_LLVM_virtual_call_origin (0x00000046 "_ZN5CBase2f1Ev")

  DW_TAG_call_site
    DW_AT_LLVM_virtual_call_origin (0x00000059 "_ZN5CBase2f2Ev")

  DW_TAG_call_site
    DW_AT_LLVM_virtual_call_origin (0x0000006c "_ZN5CBase2f3Ev")

  DW_TAG_call_site
    DW_AT_LLVM_virtual_call_origin (0x0000007f "_ZN5CBase2f4Ev")
```
**Note**: These proposed changes eliminate the use of the _CallTargetCache_ map and currently are being evaluated by the Sony Debugger.

https://github.com/llvm/llvm-project/pull/167666


More information about the cfe-commits mailing list