[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-03-06 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. In D144181#4142295 , @Michael137 wrote: > We thought a bit about what it would take to link a constructor declaration > DIE to the various definitions (e.g., via a > `DW_AT_LLVM_complete_ctor_linkage_name` or

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. We thought a bit about what it would take to link a constructor declaration DIE to the various definitions (e.g., via a `DW_AT_LLVM_complete_ctor_linkage_name` or `DW_AT_LLVM_complete_ctor_ref`). The issue with this is that it would mess with type uniquing. E.g.,

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. > This is what I meant by the "extension for the asm annotation for > constructors" part. In principle, we could extend clang so that one can write > something like this: Ah thanks for elaborating. That's an interesting approach. So this would require adding the

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. In D144181#4140831 , @Michael137 wrote: >> The construction of the mangled name does not require getting just the abi >> tags of the constructor itself right. Rather, it requires knowing the abi >> tag annotations of all

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. Although I don't know of a scenario where we ever explicitly need to call the base object constructor from the expression evaluator. So maybe we can get away with only linking the complete object constructor DIE to the subprogram. Via a `DW_AT_LLVM_complete_ctor` or

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. > The construction of the mangled name does not require getting just the abi > tags of the constructor itself right. Rather, it requires knowing the abi tag > annotations of all arguments (template and regular) of the constructor, and > template arguments of all

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-21 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. In D144181#4139446 , @Michael137 wrote: >> Hmm, I'd sort of still be inclined to look further at the linkage name >> option - but maybe the existence of a situation where the usage is built >> with debug info, but the out of

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-20 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a subscriber: labath. Michael137 added a comment. > Hmm, I'd sort of still be inclined to look further at the linkage name option > - but maybe the existence of a situation where the usage is built with debug > info, but the out of line ctor definitions are all in another

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-20 Thread Michael Buch via Phabricator via cfe-commits
Michael137 updated this revision to Diff 498898. Michael137 added a comment. - Hide behind LLDB tuning Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144181/new/ https://reviews.llvm.org/D144181 Files: clang/lib/CodeGen/CGDebugInfo.cpp

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-17 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. In D144181#4133056 , @Michael137 wrote: > In D144181#4133025 , @dblaikie > wrote: > >> Ah, accidentally posted to the lldb part of this stack... instead: >> >> Any chance we can make

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-17 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. In D144181#4133056 , @Michael137 wrote: > In D144181#4133025 , @dblaikie > wrote: > >> Ah, accidentally posted to the lldb part of this stack... instead: >> >> Any chance we can make

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. In D144181#4133025 , @dblaikie wrote: > Ah, accidentally posted to the lldb part of this stack... instead: > > Any chance we can make these work more like member functions (could the ctors > include their mangled names, for

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread David Blaikie via Phabricator via cfe-commits
dblaikie added a comment. Ah, accidentally posted to the lldb part of this stack... instead: Any chance we can make these work more like member functions (could the ctors include their mangled names, for instance)? Or is it the innate nature of ctors having the various C1

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Adrian Prantl via Phabricator via cfe-commits
aprantl added a comment. Size-wise this looks like an acceptable increase. If we created a new DW_AT_LLVM_abi_tag, we could save an extra 4 bytes (assuming DW_FORM_strp) per DIE. That might be worth it? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 updated this revision to Diff 498019. Michael137 added a comment. - Update test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144181/new/ https://reviews.llvm.org/D144181 Files: clang/lib/CodeGen/CGDebugInfo.cpp

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 added a comment. Left is without patch. Right is with patch. file: bin/lldb.dSYM/Contents/Resources/DWARF/lldb file:

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 updated this revision to Diff 497986. Michael137 added a comment. - Remove leftover comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144181/new/ https://reviews.llvm.org/D144181 Files: clang/lib/CodeGen/CGDebugInfo.cpp

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 updated this revision to Diff 497983. Michael137 added a comment. - Remove leftover comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144181/new/ https://reviews.llvm.org/D144181 Files: clang/lib/CodeGen/CGDebugInfo.cpp

[PATCH] D144181: [clang][DebugInfo] Add abi-tags on constructors/destructors as LLVM annotations

2023-02-16 Thread Michael Buch via Phabricator via cfe-commits
Michael137 created this revision. Michael137 added reviewers: dblaikie, aprantl. Herald added a project: All. Michael137 requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. **Summary** After this patch, any `AbiTagAttr` attribute on a