use Mang->getSymbol instead of duplicating the logic, reduce indentation.
authorChris Lattner <sabre@nondot.org>
Fri, 12 Mar 2010 19:04:14 +0000 (19:04 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 12 Mar 2010 19:04:14 +0000 (19:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98367 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp

index 4911683d4dd19e11d5142d41aa30c743d078035e..025d843f4d9246ff1aa204b722824fc3ef3f914b 100644 (file)
@@ -54,25 +54,19 @@ void X86AsmPrinter::PrintPICBaseSymbol() const {
 }
 
 MCSymbol *X86AsmPrinter::GetGlobalValueSymbol(const GlobalValue *GV) const {
-  SmallString<60> NameStr;
-  Mang->getNameWithPrefix(NameStr, GV, false);
-  MCSymbol *Symb;
-  if (GV->hasPrivateLinkage())
-    Symb = OutContext.GetOrCreateTemporarySymbol(NameStr.str());
-  else
-    Symb = OutContext.GetOrCreateSymbol(NameStr.str());
-
-  if (Subtarget->isTargetCygMing()) {
-    X86COFFMachineModuleInfo &COFFMMI =
-      MMI->getObjFileInfo<X86COFFMachineModuleInfo>();
-    COFFMMI.DecorateCygMingName(Symb, OutContext, GV, *TM.getTargetData());
-
-    // Save function name for later type emission.
-    if (const Function *F = dyn_cast<Function>(GV))
-      if (F->isDeclaration())
-        COFFMMI.addExternalFunction(Symb->getName());
-
-  }
+  MCSymbol *Symb = Mang->getSymbol(GV);
+  
+  if (!Subtarget->isTargetCygMing() || !isa<Function>(GV))
+    return Symb;
+  
+  X86COFFMachineModuleInfo &COFFMMI =
+    MMI->getObjFileInfo<X86COFFMachineModuleInfo>();
+  COFFMMI.DecorateCygMingName(Symb, OutContext, GV, *TM.getTargetData());
+
+  // Save function name for later type emission.
+  const Function *F = cast<Function>(GV);
+  if (F->isDeclaration())
+    COFFMMI.addExternalFunction(Symb->getName());
 
   return Symb;
 }