From 5c40e694dcd679bf26b962189c1d12b32fff07cd Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 16 Jan 2010 01:17:26 +0000 Subject: [PATCH] remove the string form of printVisibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/AsmPrinter.h | 3 -- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 38 +++++++++---------- .../PIC16/AsmPrinter/PIC16AsmPrinter.cpp | 6 ++- .../SystemZ/AsmPrinter/SystemZAsmPrinter.cpp | 17 ++------- 4 files changed, 26 insertions(+), 38 deletions(-) diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index 0ebb4b1ba16..d3df48ead2b 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -421,9 +421,6 @@ namespace llvm { /// this is suported by the target. void printVisibility(const MCSymbol *Sym, unsigned Visibility) const; - // FIXME: This is deprecated and should be removed. - void printVisibility(const std::string& Name, unsigned Visibility) const; - /// printOffset - This is just convenient handler for printing offsets. void printOffset(int64_t Offset) const; diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 16eec0c44a3..577d173ff13 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -178,21 +178,30 @@ bool AsmPrinter::doFinalization(Module &M) { O << '\n'; for (Module::const_alias_iterator I = M.alias_begin(), E = M.alias_end(); I != E; ++I) { - std::string Name = Mang->getMangledName(I); + MCSymbol *Name = GetGlobalValueSymbol(I); const GlobalValue *GV = cast(I->getAliasedGlobal()); - std::string Target = Mang->getMangledName(GV); + MCSymbol *Target = GetGlobalValueSymbol(GV); - if (I->hasExternalLinkage() || !MAI->getWeakRefDirective()) - O << "\t.globl\t" << Name << '\n'; - else if (I->hasWeakLinkage()) - O << MAI->getWeakRefDirective() << Name << '\n'; - else if (!I->hasLocalLinkage()) - llvm_unreachable("Invalid alias linkage"); + if (I->hasExternalLinkage() || !MAI->getWeakRefDirective()) { + O << "\t.globl\t"; + Name->print(O, MAI); + O << '\n'; + } else if (I->hasWeakLinkage()) { + O << MAI->getWeakRefDirective(); + Name->print(O, MAI); + O << '\n'; + } else { + assert(!I->hasLocalLinkage() && "Invalid alias linkage"); + } printVisibility(Name, I->getVisibility()); - O << MAI->getSetDirective() << ' ' << Name << ", " << Target << '\n'; + O << MAI->getSetDirective() << ' '; + Name->print(O, MAI); + O << ", "; + Target->print(O, MAI); + O << '\n'; } } @@ -1846,17 +1855,6 @@ void AsmPrinter::printDataDirective(const Type *type, unsigned AddrSpace) { } } -void AsmPrinter::printVisibility(const std::string& Name, - unsigned Visibility) const { - if (Visibility == GlobalValue::HiddenVisibility) { - if (const char *Directive = MAI->getHiddenDirective()) - O << Directive << Name << '\n'; - } else if (Visibility == GlobalValue::ProtectedVisibility) { - if (const char *Directive = MAI->getProtectedDirective()) - O << Directive << Name << '\n'; - } -} - void AsmPrinter::printVisibility(const MCSymbol *Sym, unsigned Visibility) const { if (Visibility == GlobalValue::HiddenVisibility) { diff --git a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp index 87f5aad02a6..ac4776e657f 100644 --- a/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp +++ b/lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp @@ -128,7 +128,8 @@ bool PIC16AsmPrinter::runOnMachineFunction(MachineFunction &MF) { O << "\tretlw high(" << PAN::getFrameLabel(CurrentFnName) << ")\n"; // Emit function start label. - O << CurrentFnName << ":\n"; + CurrentFnSym->print(O, MAI); + O << ":\n"; DebugLoc CurDL; O << "\n"; @@ -399,7 +400,8 @@ void PIC16AsmPrinter::EmitFunctionFrame(MachineFunction &MF) { // Emit the data section name. O << "\n"; - PIC16Section *fPDataSection = const_cast(getObjFileLowering(). + PIC16Section *fPDataSection = + const_cast(getObjFileLowering(). SectionForFrame(CurrentFnName)); fPDataSection->setColor(getFunctionColor(F)); diff --git a/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp b/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp index 86958b98e2f..b546358bb14 100644 --- a/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp +++ b/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp @@ -35,7 +35,6 @@ #include "llvm/ADT/Statistic.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FormattedStream.h" -#include "llvm/Support/Mangler.h" using namespace llvm; STATISTIC(EmittedInsts, "Number of machine instrs printed"); @@ -184,9 +183,7 @@ void SystemZAsmPrinter::printPCRelImmOperand(const MachineInstr *MI, int OpNum){ return; case MachineOperand::MO_GlobalAddress: { const GlobalValue *GV = MO.getGlobal(); - std::string Name = Mang->getMangledName(GV); - - O << Name; + GetGlobalValueSymbol(GV)->print(O, MAI); // Assemble calls via PLT for externally visible symbols if PIC. if (TM.getRelocationModel() == Reloc::PIC_ && @@ -250,17 +247,11 @@ void SystemZAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, printOffset(MO.getOffset()); break; - case MachineOperand::MO_GlobalAddress: { - const GlobalValue *GV = MO.getGlobal(); - std::string Name = Mang->getMangledName(GV); - - O << Name; + case MachineOperand::MO_GlobalAddress: + GetGlobalValueSymbol(MO.getGlobal())->print(O, MAI); break; - } case MachineOperand::MO_ExternalSymbol: { - std::string Name(MAI->getGlobalPrefix()); - Name += MO.getSymbolName(); - O << Name; + GetExternalSymbolSymbol(MO.getSymbolName())->print(O, MAI); break; } default: -- 2.34.1