diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp')
-rw-r--r-- | contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp b/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp index 18612bd..32b2240 100644 --- a/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp +++ b/contrib/llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp @@ -11,30 +11,25 @@ #include "MCTargetDesc/SparcMCExpr.h" #include "llvm/CodeGen/MachineModuleInfoImpls.h" #include "llvm/Support/Dwarf.h" -#include "llvm/Target/Mangler.h" +#include "llvm/Target/TargetLowering.h" using namespace llvm; - -const MCExpr *SparcELFTargetObjectFile:: -getTTypeGlobalReference(const GlobalValue *GV, Mangler *Mang, - MachineModuleInfo *MMI, unsigned Encoding, - MCStreamer &Streamer) const { +const MCExpr *SparcELFTargetObjectFile::getTTypeGlobalReference( + const GlobalValue *GV, unsigned Encoding, Mangler &Mang, + const TargetMachine &TM, MachineModuleInfo *MMI, + MCStreamer &Streamer) const { if (Encoding & dwarf::DW_EH_PE_pcrel) { MachineModuleInfoELF &ELFMMI = MMI->getObjFileInfo<MachineModuleInfoELF>(); - //MCSymbol *SSym = getSymbolWithGlobalValueBase(*Mang, GV, ".DW.stub"); - SmallString<60> NameStr; - Mang->getNameWithPrefix(NameStr, GV, true); - NameStr.append(".DW.stub"); - MCSymbol *SSym = getContext().GetOrCreateSymbol(NameStr.str()); + MCSymbol *SSym = getSymbolWithGlobalValueBase(GV, ".DW.stub", Mang, TM); // Add information about the stub reference to ELFMMI so that the stub // gets emitted by the asmprinter. MachineModuleInfoImpl::StubValueTy &StubSym = ELFMMI.getGVStubEntry(SSym); - if (StubSym.getPointer() == 0) { - MCSymbol *Sym = getSymbol(*Mang, GV); + if (!StubSym.getPointer()) { + MCSymbol *Sym = TM.getSymbol(GV, Mang); StubSym = MachineModuleInfoImpl::StubValueTy(Sym, !GV->hasLocalLinkage()); } @@ -43,6 +38,6 @@ getTTypeGlobalReference(const GlobalValue *GV, Mangler *Mang, MCSymbolRefExpr::Create(SSym, Ctx), Ctx); } - return TargetLoweringObjectFileELF:: - getTTypeGlobalReference(GV, Mang, MMI, Encoding, Streamer); + return TargetLoweringObjectFileELF::getTTypeGlobalReference( + GV, Encoding, Mang, TM, MMI, Streamer); } |