Keep "has debug info" big in MachineModuleInfo to avoid circular dependency between AsmPrinter and CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62191 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/CodeGen/MachineModuleInfo.h b/include/llvm/CodeGen/MachineModuleInfo.h
index 1f4c534..347254d 100644
--- a/include/llvm/CodeGen/MachineModuleInfo.h
+++ b/include/llvm/CodeGen/MachineModuleInfo.h
@@ -1041,6 +1041,10 @@
bool CallsEHReturn;
bool CallsUnwindInit;
+
+ /// DbgInfoAvailable - True if debugging information is available
+ /// in this module.
+ bool DbgInfoAvailable;
public:
static char ID; // Pass identification, replacement for typeid
@@ -1082,8 +1086,9 @@
/// hasDebugInfo - Returns true if valid debug info is present.
///
- bool hasDebugInfo() const { return !CompileUnits.empty(); }
-
+ bool hasDebugInfo() const { return DbgInfoAvailable; }
+ void setDebugInfoAvailability(bool avail) { DbgInfoAvailable = true; }
+
bool callsEHReturn() const { return CallsEHReturn; }
void setCallsEHReturn(bool b) { CallsEHReturn = b; }
diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
index 0687fd8..e17dd52 100644
--- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
@@ -3604,6 +3604,7 @@
MMI = mmi;
shouldEmit = true;
+ MMI->setDebugInfoAvailability(true);
// Create DIEs for each of the externally visible global variables.
ConstructGlobalVariableDIEs();
diff --git a/lib/CodeGen/MachineModuleInfo.cpp b/lib/CodeGen/MachineModuleInfo.cpp
index f93f27c..5fe59d4 100644
--- a/lib/CodeGen/MachineModuleInfo.cpp
+++ b/lib/CodeGen/MachineModuleInfo.cpp
@@ -1630,6 +1630,7 @@
, Personalities()
, CallsEHReturn(0)
, CallsUnwindInit(0)
+, DbgInfoAvailable(false)
{
// Always emit "no personality" info
Personalities.push_back(NULL);