eliminate the horrid AsmPrinter::getGlobalLinkName method, inlining

it into all of its call sites and simplifying them.

llvm-svn: 81962
This commit is contained in:
Chris Lattner 2009-09-16 00:08:41 +00:00
parent 3045f9e57b
commit dd5a989034
4 changed files with 4 additions and 21 deletions

View File

@ -159,12 +159,6 @@ namespace llvm {
///
bool isVerbose() const { return VerboseAsm; }
/// getGlobalLinkName - Returns the asm/link name of of the specified
/// global variable. Should be overridden by each target asm printer to
/// generate the appropriate value.
virtual const std::string &getGlobalLinkName(const GlobalVariable *GV,
std::string &LinkName) const;
/// EmitExternalGlobal - Emit the external reference to a global variable.
/// Should be overridden if an indirect reference should be used.
virtual void EmitExternalGlobal(const GlobalVariable *GV);

View File

@ -509,20 +509,10 @@ void AsmPrinter::EmitXXStructorList(Constant *List) {
}
}
/// getGlobalLinkName - Returns the asm/link name of of the specified
/// global variable. Should be overridden by each target asm printer to
/// generate the appropriate value.
const std::string &AsmPrinter::getGlobalLinkName(const GlobalVariable *GV,
std::string &LinkName) const {
LinkName += Mang->getMangledName(GV);
return LinkName;
}
/// EmitExternalGlobal - Emit the external reference to a global variable.
/// Should be overridden if an indirect reference should be used.
void AsmPrinter::EmitExternalGlobal(const GlobalVariable *GV) {
std::string GLN;
O << getGlobalLinkName(GV, GLN);
O << Mang->getMangledName(GV);
}

View File

@ -23,6 +23,7 @@
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/Mangler.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/Debug.h"
#include "llvm/System/Path.h"
@ -1501,9 +1502,8 @@ void DwarfDebug::ConstructGlobalVariableDIE(MDNode *N) {
// Add address.
DIEBlock *Block = new DIEBlock();
AddUInt(Block, 0, dwarf::DW_FORM_data1, dwarf::DW_OP_addr);
std::string GLN;
AddObjectLabel(Block, 0, dwarf::DW_FORM_udata,
Asm->getGlobalLinkName(DI_GV.getGlobal(), GLN));
Asm->Mang->getMangledName(DI_GV.getGlobal()));
AddBlock(VariableDie, dwarf::DW_AT_location, 0, Block);
// Add to map.

View File

@ -872,8 +872,7 @@ void DwarfException::EmitExceptionTable() {
PrintRelDirective();
if (GV) {
std::string GLN;
O << Asm->getGlobalLinkName(GV, GLN);
O << Asm->Mang->getMangledName(GV);
} else {
O << "0x0";
}