[llvm-commits] [llvm] r93575 - in /llvm/trunk: include/llvm/CodeGen/AsmPrinter.h lib/CodeGen/AsmPrinter/AsmPrinter.cpp lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
Chris Lattner
sabre at nondot.org
Fri Jan 15 15:18:18 PST 2010
Author: lattner
Date: Fri Jan 15 17:18:17 2010
New Revision: 93575
URL: http://llvm.org/viewvc/llvm-project?rev=93575&view=rev
Log:
add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
helper method, use it to simplify some code.
Modified:
llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
llvm/trunk/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
Modified: llvm/trunk/include/llvm/CodeGen/AsmPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/AsmPrinter.h?rev=93575&r1=93574&r2=93575&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/AsmPrinter.h (original)
+++ llvm/trunk/include/llvm/CodeGen/AsmPrinter.h Fri Jan 15 17:18:17 2010
@@ -339,6 +339,14 @@
/// EmitComments - Pretty-print comments for basic blocks
void EmitComments(const MachineBasicBlock &MBB) const;
+ /// GetGlobalValueSymbol - Return the MCSymbol for the specified global
+ /// value.
+ MCSymbol *GetGlobalValueSymbol(const GlobalValue *GV) const;
+
+ /// GetExternalSymbolSymbol - Return the MCSymbol for the specified
+ /// ExternalSymbol.
+ MCSymbol *GetExternalSymbolSymbol(StringRef Sym) const;
+
/// GetMBBSymbol - Return the MCSymbol corresponding to the specified basic
/// block label.
MCSymbol *GetMBBSymbol(unsigned MBBID) const;
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=93575&r1=93574&r2=93575&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Fri Jan 15 17:18:17 2010
@@ -1698,6 +1698,22 @@
return OutContext.GetOrCreateSymbol(Name.str());
}
+/// GetGlobalValueSymbol - Return the MCSymbol for the specified global
+/// value.
+MCSymbol *AsmPrinter::GetGlobalValueSymbol(const GlobalValue *GV) const {
+ SmallString<60> NameStr;
+ Mang->getNameWithPrefix(NameStr, GV, false);
+ return OutContext.GetOrCreateSymbol(NameStr.str());
+}
+
+/// GetExternalSymbolSymbol - Return the MCSymbol for the specified
+/// ExternalSymbol.
+MCSymbol *AsmPrinter::GetExternalSymbolSymbol(StringRef Sym) const {
+ SmallString<60> NameStr;
+ Mang->getNameWithPrefix(NameStr, Sym);
+ return OutContext.GetOrCreateSymbol(NameStr.str());
+}
+
/// EmitBasicBlockStart - This method prints the label for the specified
/// MachineBasicBlock, an alignment (if present) and a comment describing
Modified: llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp?rev=93575&r1=93574&r2=93575&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp Fri Jan 15 17:18:17 2010
@@ -201,15 +201,13 @@
GV->hasHiddenVisibility() ? MMIMachO.getHiddenGVStubEntry(Sym) :
MMIMachO.getGVStubEntry(Sym);
if (StubSym == 0) {
- Mang->getNameWithPrefix(TmpNameStr, GV, false);
- StubSym = OutContext.GetOrCreateSymbol(TmpNameStr.str());
+ StubSym = GetGlobalValueSymbol(GV);
}
}
O << Name;
} else {
assert(ACPV->isExtSymbol() && "unrecognized constant pool value");
- Mang->getNameWithPrefix(TmpNameStr, ACPV->getSymbol());
- OutContext.GetOrCreateSymbol(TmpNameStr.str())->print(O, MAI);
+ GetExternalSymbolSymbol(ACPV->getSymbol())->print(O, MAI);
}
if (ACPV->hasModifier()) O << "(" << ACPV->getModifier() << ")";
Modified: llvm/trunk/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp?rev=93575&r1=93574&r2=93575&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/Blackfin/AsmPrinter/BlackfinAsmPrinter.cpp Fri Jan 15 17:18:17 2010
@@ -181,12 +181,9 @@
O << Mang->getMangledName(MO.getGlobal());
printOffset(MO.getOffset());
break;
- case MachineOperand::MO_ExternalSymbol: {
- SmallString<60> NameStr;
- Mang->getNameWithPrefix(NameStr, MO.getSymbolName());
- OutContext.GetOrCreateSymbol(NameStr.str())->print(O, MAI);
+ case MachineOperand::MO_ExternalSymbol:
+ GetExternalSymbolSymbol(MO.getSymbolName())->print(O, MAI);
break;
- }
case MachineOperand::MO_ConstantPoolIndex:
O << MAI->getPrivateGlobalPrefix() << "CPI" << getFunctionNumber() << "_"
<< MO.getIndex();
Modified: llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp?rev=93575&r1=93574&r2=93575&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp (original)
+++ llvm/trunk/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp Fri Jan 15 17:18:17 2010
@@ -198,7 +198,7 @@
GetMBBSymbol(MO.getMBB()->getNumber())->print(O, MAI);
return;
case MachineOperand::MO_GlobalAddress:
- O << Mang->getMangledName(MO.getGlobal());
+ GetGlobalValueSymbol(MO.getGlobal())->print(O, MAI);
break;
case MachineOperand::MO_ExternalSymbol:
O << MO.getSymbolName();
More information about the llvm-commits
mailing list