HomePhabricator

Reapply: "DebugInfo: Emit only one kind of accelerated access/name table""

Authored by dblaikie on Apr 23 2019, 12:00 PM.

Description

Reapply: "DebugInfo: Emit only one kind of accelerated access/name table""

Originally committed in r358931
Reverted in r358997

Seems this change made Apple accelerator tables miss names (because
names started respecting the CU NameTableKind GNU & assuming that
shouldn't produce accelerated names too), which is never correct (apple
accelerator tables don't have separators or CU lists - if present, they
must describe all names in all CUs).

Original Description:
Currently to opt in to debug_names in DWARFv5, the IR must contain
'nameTableKind: Default' which also enables debug_pubnames.

Instead, only allow one of {debug_names, apple_names, debug_pubnames,
debug_gnu_pubnames}.

nameTableKind: Default gives debug_names in DWARFv5 and greater,
debug_pubnames in v4 and earlier - and apple_names when tuning for lldb
on MachO.
nameTableKind: GNU always gives gnu_pubnames

llvm-svn: 359026

Details

Committed
dblaikieApr 23 2019, 12:00 PM
Parents
rG867bc3951bff: [ThinLTO] Pass down opt level to LTO backend and handle -O0 LTO in new PM
Branches
Unknown
Tags
Unknown