Mercurial > hg > CbC > CbC_llvm
diff lib/Target/TargetLoweringObjectFile.cpp @ 33:e4204d083e25 LLVM3.5
LLVM 3.5
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 14:32:10 +0900 |
parents | 95c75e76d11b |
children | 54457678186b |
line wrap: on
line diff
--- a/lib/Target/TargetLoweringObjectFile.cpp Thu Dec 12 13:57:29 2013 +0900 +++ b/lib/Target/TargetLoweringObjectFile.cpp Thu Dec 12 14:32:10 2013 +0900 @@ -18,6 +18,7 @@ #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalVariable.h" +#include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCStreamer.h" @@ -102,10 +103,24 @@ MCSymbol *TargetLoweringObjectFile::getSymbol(Mangler &M, const GlobalValue *GV) const { SmallString<60> NameStr; - M.getNameWithPrefix(NameStr, GV, false); + M.getNameWithPrefix(NameStr, GV); return Ctx->GetOrCreateSymbol(NameStr.str()); } +MCSymbol *TargetLoweringObjectFile::getSymbolWithGlobalValueBase( + Mangler &M, const GlobalValue *GV, StringRef Suffix) const { + assert(!Suffix.empty()); + assert(!GV->hasPrivateLinkage()); + assert(!GV->hasLinkerPrivateLinkage()); + assert(!GV->hasLinkerPrivateWeakLinkage()); + + const MCAsmInfo *MAI = Ctx->getAsmInfo(); + SmallString<60> NameStr; + NameStr += MAI->getPrivateGlobalPrefix(); + M.getNameWithPrefix(NameStr, GV); + NameStr.append(Suffix.begin(), Suffix.end()); + return Ctx->GetOrCreateSymbol(NameStr.str()); +} MCSymbol *TargetLoweringObjectFile:: getCFIPersonalitySymbol(const GlobalValue *GV, Mangler *Mang,