diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 4e7ea13..d7a0225 100644
--- a/include/llvm/CodeGen/AsmPrinter.h
+++ b/include/llvm/CodeGen/AsmPrinter.h
@@ -333,10 +333,6 @@
     /// debug tables.
     void printDeclare(const MachineInstr *MI) const;
 
-    /// getMangler - Return Mangler used by the AsmPrinter. This is used by
-    /// DWARF debug info generator.
-    Mangler *getMangler() { return Mang; }
-
     /// postInstructionAction - Handling printing of items after the
     /// instruction iteself has been printed (e.g. comments)
     void postInstructionAction(const MachineInstr &MI) const {
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index fbedfa0..6097447 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -15,7 +15,6 @@
 #include "llvm/Module.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/Support/Timer.h"
-#include "llvm/Support/Mangler.h"
 #include "llvm/System/Path.h"
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetRegisterInfo.h"
@@ -786,12 +785,9 @@
   AddString(GVDie, dwarf::DW_AT_name, dwarf::DW_FORM_string, Name);
   std::string LinkageName;
   GV.getLinkageName(LinkageName);
-  if (!LinkageName.empty()) {
-    Mangler *Mg = Asm->getMangler();
-    assert (Mg && "Unable to find Mangler!");
+  if (!LinkageName.empty())
     AddString(GVDie, dwarf::DW_AT_MIPS_linkage_name, dwarf::DW_FORM_string,
-              Mg->makeNameProper(LinkageName));
-  }
+              LinkageName);
   AddType(DW_Unit, GVDie, GV.getType());
   if (!GV.isLocalToUnit())
     AddUInt(GVDie, dwarf::DW_AT_external, dwarf::DW_FORM_flag, 1);
@@ -859,14 +855,9 @@
 
   std::string LinkageName;
   SP.getLinkageName(LinkageName);
-
-  if (!LinkageName.empty()) {
-    Mangler *Mg = Asm->getMangler();
-    assert (Mg && "Unable to find Mangler!");
+  if (!LinkageName.empty())
     AddString(SPDie, dwarf::DW_AT_MIPS_linkage_name, dwarf::DW_FORM_string,
-              Mg->makeNameProper(LinkageName));
-  }
-
+              LinkageName);
   AddSourceLine(SPDie, &SP);
 
   DICompositeType SPTy = SP.getType();
