aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-03-12 19:04:14 +0000
committerChris Lattner <sabre@nondot.org>2010-03-12 19:04:14 +0000
commit2341f6ccf84dd118dbd69df70ebf55bf2527f080 (patch)
treee0cd10363d1a95581b393a3d890becc3298d9c09
parent73ff564d65e9c748562c5734d1f72a2a233f0275 (diff)
use Mang->getSymbol instead of duplicating the logic, reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98367 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp32
1 files changed, 13 insertions, 19 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
index 4911683d4d..025d843f4d 100644
--- a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
+++ b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
@@ -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;
}