aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-01-16 01:17:26 +0000
committerChris Lattner <sabre@nondot.org>2010-01-16 01:17:26 +0000
commit5c40e694dcd679bf26b962189c1d12b32fff07cd (patch)
tree909fd31e9c562c528c506a9055811c3927d77768
parent9c09363637c43ce7c28898993c32b9a63ded5b46 (diff)
remove the string form of printVisibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/AsmPrinter.h3
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp38
-rw-r--r--lib/Target/PIC16/AsmPrinter/PIC16AsmPrinter.cpp6
-rw-r--r--lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp17
4 files changed, 26 insertions, 38 deletions
diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h
index 0ebb4b1ba1..d3df48ead2 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 16eec0c44a..577d173ff1 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<GlobalValue>(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 87f5aad02a..ac4776e657 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<PIC16Section *>(getObjFileLowering().
+ PIC16Section *fPDataSection =
+ const_cast<PIC16Section *>(getObjFileLowering().
SectionForFrame(CurrentFnName));
fPDataSection->setColor(getFunctionColor(F));
diff --git a/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp b/lib/Target/SystemZ/AsmPrinter/SystemZAsmPrinter.cpp
index 86958b98e2..b546358bb1 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: