IR: Represent -ggnu-pubnames with a flag on the DICompileUnit.
This allows the flag to be persisted through to LTO.
Differential Revision: https://reviews.llvm.org/D37655
llvm-svn: 313078
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index b9f17d6..24a50c6 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -314,16 +314,6 @@
// Identify a debugger for "tuning" the debug info.
DebuggerKind DebuggerTuning = DebuggerKind::Default;
- /// \defgroup DebuggerTuning Predicates to tune DWARF for a given debugger.
- ///
- /// Returns whether we are "tuning" for a given debugger.
- /// Should be used only within the constructor, to set feature flags.
- /// @{
- bool tuneForGDB() const { return DebuggerTuning == DebuggerKind::GDB; }
- bool tuneForLLDB() const { return DebuggerTuning == DebuggerKind::LLDB; }
- bool tuneForSCE() const { return DebuggerTuning == DebuggerKind::SCE; }
- /// @}
-
MCDwarfDwoLineTable *getDwoLineTable(const DwarfCompileUnit &);
const SmallVectorImpl<std::unique_ptr<DwarfCompileUnit>> &getUnits() {
@@ -374,21 +364,12 @@
/// Emit type dies into a hashed accelerator table.
void emitAccelTypes();
- /// Emit visible names into a debug pubnames section.
- /// \param GnuStyle determines whether or not we want to emit
- /// additional information into the table ala newer gcc for gdb
- /// index.
- void emitDebugPubNames(bool GnuStyle = false);
+ /// Emit visible names and types into debug pubnames and pubtypes sections.
+ void emitDebugPubSections();
- /// Emit visible types into a debug pubtypes section.
- /// \param GnuStyle determines whether or not we want to emit
- /// additional information into the table ala newer gcc for gdb
- /// index.
- void emitDebugPubTypes(bool GnuStyle = false);
-
- void emitDebugPubSection(
- bool GnuStyle, MCSection *PSec, StringRef Name,
- const StringMap<const DIE *> &(DwarfCompileUnit::*Accessor)() const);
+ void emitDebugPubSection(bool GnuStyle, StringRef Name,
+ DwarfCompileUnit *TheU,
+ const StringMap<const DIE *> &Globals);
/// Emit null-terminated strings into a debug str section.
void emitDebugStr();
@@ -577,7 +558,14 @@
/// going to be null.
bool isLexicalScopeDIENull(LexicalScope *Scope);
- bool hasDwarfPubSections(bool includeMinimalInlineScopes) const;
+ /// \defgroup DebuggerTuning Predicates to tune DWARF for a given debugger.
+ ///
+ /// Returns whether we are "tuning" for a given debugger.
+ /// @{
+ bool tuneForGDB() const { return DebuggerTuning == DebuggerKind::GDB; }
+ bool tuneForLLDB() const { return DebuggerTuning == DebuggerKind::LLDB; }
+ bool tuneForSCE() const { return DebuggerTuning == DebuggerKind::SCE; }
+ /// @}
};
} // end namespace llvm