[PATCH] D83462: [DWARF] Avoid entry_values production for SCE

Djordje Todorovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 9 07:48:41 PDT 2020


djtodoro added a comment.

In D83462#2141719 <https://reviews.llvm.org/D83462#2141719>, @probinson wrote:

> Between this code and DwarfDebug, I'm having a hard time understanding the various controls over emitting entry-values.


I see.. I think we can/should simplify it.

> - There's an existing tuning check in DwarfDebug, now you're adding the complementary check in TargetOptions.  Does this make the DwarfDebug check redundant?

It is is redundant now.. Thanks!

> - There are 3 different flags to sort out whether to emit this stuff.  SupportsDebugEntryValues is strictly based on the target, I get that.  Then there's EnableDebugEntryValues in the TargetOptions, which seems to be tied to a tool-command-line option; and separately there's EmitDwarfDebugEntryValues in DwarfDebug, with its own command-line option.  Can we simplify this at all?

I think yes. We needed the first two (SupportsDebugEntryValues  and EnableDebugEntryValues from TargetOptions) in order to enable it by default for some targets and to leave an experimental option for developers who want to extend the support for the other architectures. There is a situation when different debuggers come into the game, so we thought to control it on the very end (within DwarfDebug with the EmitDwarfDebugEntryValues), but at that place we can control only caller-side-dwarf-symbols (dw_tag_call_sites) but not the dw_entry_values (callee side; since it is being produced during LiveDebugValues phase). So, having this patch, we can get rid of the DwarfDebug::EmitDwarfDebugEntryValues option, since we can experiment everything with the fields from TargetOptions.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D83462





More information about the llvm-commits mailing list