[PATCH] D95911: [Docs] Add some documentation for constructor homing, a debug info optimization (-fuse-ctor-homing)

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 3 15:01:17 PST 2021


rnk accepted this revision.
rnk added a comment.

lgtm too

In D95911#2538292 <https://reviews.llvm.org/D95911#2538292>, @dblaikie wrote:

> (non-action idle thoughts: Might be worth revisiting this documentation to make it a bit more direct/clearer that many of these optimizations (at least the vtable and ctor homing) rely on the assumption that the class is instantiated somewhere in the program (and that somewhere is built with debug info enabled) (the wording you've got here "This relies on the additional assumption that all classes that are not trivially constructible have a non-trivial constructor that is used somewhere." but maybe generalized/massaged a bit))

Yep. While looking at the existing documentation here, I kept thinking we need some standalone documentation on all the debug info features clang supports. There is a lot to cover.

- -gmodules
- -g0, -g1 / -gmlt / -gline-tables-only
- -fstandalone-debug
- this unused types thing
- DWARF versions
- PDBs and codeview
- -fno-inline-line-tables
- various attributes (nomerge, not_tail_called, nodebug/artificial)
- -gcolumn-info
- macro info
- -gcodeview-ghash
- fission / split dwarf
- gdb indexes
- pubnames
- -gz
- debugger tuning gdb/lldb
- others


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D95911



More information about the cfe-commits mailing list