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);