diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 490a866..6da94a4 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -301,7 +301,7 @@
 
 DwarfDebug::DwarfDebug(AsmPrinter *A)
   : Asm(A), MMI(Asm->MMI), ModuleCU(0),
-    AbbreviationsSet(InitAbbreviationsSetSize), shouldEmit(false),
+    AbbreviationsSet(InitAbbreviationsSetSize), 
     CurrentFnDbgScope(0), DebugTimer(0) {
   NextStringPoolNumber = 0;
       
@@ -1815,8 +1815,6 @@
   
   if (!HasDebugInfo) return;
 
-  shouldEmit = true;
-  
   // Tell MMI that we have debug info.
   MMI->setDebugInfoAvailability(true);
   
@@ -2265,7 +2263,7 @@
 /// beginFunction - Gather pre-function debug information.  Assumes being
 /// emitted immediately after the function entry point.
 void DwarfDebug::beginFunction(const MachineFunction *MF) {
-  if (!ShouldEmitDwarfDebug()) return;
+  if (!MMI->hasDebugInfo()) return;
   
   TimeRegion Timer(DebugTimer);
   if (!extractScopeInformation())
@@ -2300,7 +2298,7 @@
 /// endFunction - Gather and emit post-function debug information.
 ///
 void DwarfDebug::endFunction(const MachineFunction *MF) {
-  if (!ShouldEmitDwarfDebug()) return;
+  if (!MMI->hasDebugInfo()) return;
   if (DbgScopeMap.empty()) return;
   
   TimeRegion Timer(DebugTimer);
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h
index b38e485..21b406e 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -126,10 +126,6 @@
   ///
   std::vector<std::vector<SrcLineInfo> > SectionSourceLines;
 
-  /// shouldEmit - Flag to indicate if debug information should be emitted.
-  ///
-  bool shouldEmit;
-
   // CurrentFnDbgScope - Top level scope for the current function.
   //
   DbgScope *CurrentFnDbgScope;
@@ -520,10 +516,6 @@
   DwarfDebug(AsmPrinter *A);
   virtual ~DwarfDebug();
 
-  /// ShouldEmitDwarfDebug - Returns true if Dwarf debugging declarations should
-  /// be emitted.
-  bool ShouldEmitDwarfDebug() const { return shouldEmit; }
-
   /// beginModule - Emit all Dwarf sections that should come prior to the
   /// content.
   void beginModule(Module *M);
