eliminate some uses of Mangler::makeNameProper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93305 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
index 6058698..70c6dd0 100644
--- a/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
+++ b/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
@@ -283,24 +283,32 @@
break;
}
case MachineOperand::MO_ExternalSymbol: {
- Mang->makeNameProper(TempNameStr, MO.getSymbolName());
+ const MCSymbol *SymToPrint;
if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB) {
- TempNameStr += "$stub";
- MCSymbol *Sym = OutContext.GetOrCreateSymbol(TempNameStr.str());
+ Mang->getNameWithPrefix(TempNameStr,
+ StringRef(MO.getSymbolName())+"$stub");
+ const MCSymbol *Sym = OutContext.GetOrCreateSymbol(TempNameStr.str());
const MCSymbol *&StubSym =
MMI->getObjFileInfo<MachineModuleInfoMachO>().getFnStubEntry(Sym);
if (StubSym == 0) {
TempNameStr.erase(TempNameStr.end()-5, TempNameStr.end());
StubSym = OutContext.GetOrCreateSymbol(TempNameStr.str());
}
+ SymToPrint = StubSym;
+ } else {
+ Mang->getNameWithPrefix(TempNameStr, MO.getSymbolName());
+ SymToPrint = OutContext.GetOrCreateSymbol(TempNameStr.str());
}
// If the name begins with a dollar-sign, enclose it in parens. We do this
// to avoid having it look like an integer immediate to the assembler.
- if (TempNameStr[0] == '$')
- O << '(' << TempNameStr << ')';
- else
- O << TempNameStr;
+ if (SymToPrint->getName()[0] != '$')
+ SymToPrint->print(O, MAI);
+ else {
+ O << '(';
+ SymToPrint->print(O, MAI);
+ O << '(';
+ }
break;
}
}