mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Rename LessPrivateGlobalPrefix -> LinkerPrivateGlobalPrefix to match the
LLVM IR concept. llvm-svn: 76590
This commit is contained in:
parent
7532049775
commit
0f65fbf095
@ -239,10 +239,10 @@ namespace llvm {
|
||||
/// have names in the .o file. This is often "." or "L".
|
||||
const char *PrivateGlobalPrefix; // Defaults to "."
|
||||
|
||||
/// LessPrivateGlobalPrefix - This prefix is used for symbols that should
|
||||
/// LinkerPrivateGlobalPrefix - This prefix is used for symbols that should
|
||||
/// be passed through the assembler but be removed by the linker. This
|
||||
/// is "l" on Darwin, currently used for some ObjC metadata.
|
||||
const char *LessPrivateGlobalPrefix; // Defaults to ""
|
||||
const char *LinkerPrivateGlobalPrefix; // Defaults to ""
|
||||
|
||||
/// JumpTableSpecialLabelPrefix - If not null, a extra (dead) label is
|
||||
/// emitted before jump tables with the specified prefix.
|
||||
@ -708,8 +708,8 @@ namespace llvm {
|
||||
const char *getPrivateGlobalPrefix() const {
|
||||
return PrivateGlobalPrefix;
|
||||
}
|
||||
const char *getLessPrivateGlobalPrefix() const {
|
||||
return LessPrivateGlobalPrefix;
|
||||
const char *getLinkerPrivateGlobalPrefix() const {
|
||||
return LinkerPrivateGlobalPrefix;
|
||||
}
|
||||
const char *getJumpTableSpecialLabelPrefix() const {
|
||||
return JumpTableSpecialLabelPrefix;
|
||||
|
@ -155,7 +155,7 @@ void AsmPrinter::getAnalysisUsage(AnalysisUsage &AU) const {
|
||||
|
||||
bool AsmPrinter::doInitialization(Module &M) {
|
||||
Mang = new Mangler(M, TAI->getGlobalPrefix(), TAI->getPrivateGlobalPrefix(),
|
||||
TAI->getLessPrivateGlobalPrefix());
|
||||
TAI->getLinkerPrivateGlobalPrefix());
|
||||
|
||||
if (TAI->doesAllowQuotesInName())
|
||||
Mang->setUseQuotes(true);
|
||||
|
@ -747,6 +747,7 @@ MachOSym::MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
|
||||
GV(gv), n_strx(0), n_type(sect == NO_SECT ? N_UNDF : N_SECT), n_sect(sect),
|
||||
n_desc(0), n_value(0) {
|
||||
|
||||
// FIXME: This is completely broken, it should use the mangler interface.
|
||||
switch (GV->getLinkage()) {
|
||||
default:
|
||||
llvm_unreachable("Unexpected linkage type!");
|
||||
@ -765,7 +766,7 @@ MachOSym::MachOSym(const GlobalValue *gv, std::string name, uint8_t sect,
|
||||
GVName = TAI->getPrivateGlobalPrefix() + name;
|
||||
break;
|
||||
case GlobalValue::LinkerPrivateLinkage:
|
||||
GVName = TAI->getLessPrivateGlobalPrefix() + name;
|
||||
GVName = TAI->getLinkerPrivateGlobalPrefix() + name;
|
||||
break;
|
||||
case GlobalValue::InternalLinkage:
|
||||
GVName = TAI->getGlobalPrefix() + name;
|
||||
|
@ -57,7 +57,7 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM)
|
||||
// Syntax:
|
||||
GlobalPrefix = "_";
|
||||
PrivateGlobalPrefix = "L";
|
||||
LessPrivateGlobalPrefix = "l"; // Marker for some ObjC metadata
|
||||
LinkerPrivateGlobalPrefix = "l"; // Marker for some ObjC metadata
|
||||
NeedsSet = true;
|
||||
NeedsIndirectEncoding = true;
|
||||
AllowQuotesInName = true;
|
||||
@ -105,17 +105,18 @@ DarwinTargetAsmInfo::DarwinTargetAsmInfo(const TargetMachine &TM)
|
||||
}
|
||||
|
||||
/// emitUsedDirectiveFor - On Darwin, internally linked data beginning with
|
||||
/// the PrivateGlobalPrefix or the LessPrivateGlobalPrefix does not have the
|
||||
/// the PrivateGlobalPrefix or the LinkerPrivateGlobalPrefix does not have the
|
||||
/// directive emitted (this occurs in ObjC metadata).
|
||||
bool DarwinTargetAsmInfo::emitUsedDirectiveFor(const GlobalValue* GV,
|
||||
Mangler *Mang) const {
|
||||
if (!GV) return false;
|
||||
|
||||
// Check whether the mangled name has the "Private" or "LessPrivate" prefix.
|
||||
// Check whether the mangled name has the "Private" or "LinkerPrivate" prefix.
|
||||
if (GV->hasLocalLinkage() && !isa<Function>(GV)) {
|
||||
const std::string &Name = Mang->getMangledName(GV);
|
||||
// FIXME: Always "L" and "l", simplify!
|
||||
const char *PGPrefix = getPrivateGlobalPrefix();
|
||||
const char *LPGPrefix = getLessPrivateGlobalPrefix();
|
||||
const char *LPGPrefix = getLinkerPrivateGlobalPrefix();
|
||||
unsigned PGPLen = strlen(PGPrefix);
|
||||
unsigned LPGPLen = strlen(LPGPrefix);
|
||||
|
||||
|
@ -82,7 +82,7 @@ FunctionPass *llvm::createMSP430CodePrinterPass(formatted_raw_ostream &o,
|
||||
|
||||
bool MSP430AsmPrinter::doInitialization(Module &M) {
|
||||
Mang = new Mangler(M, "", TAI->getPrivateGlobalPrefix(),
|
||||
TAI->getLessPrivateGlobalPrefix());
|
||||
TAI->getLinkerPrivateGlobalPrefix());
|
||||
return false; // success
|
||||
}
|
||||
|
||||
|
@ -452,7 +452,7 @@ bool MipsAsmPrinter::
|
||||
doInitialization(Module &M)
|
||||
{
|
||||
Mang = new Mangler(M, "", TAI->getPrivateGlobalPrefix(),
|
||||
TAI->getLessPrivateGlobalPrefix());
|
||||
TAI->getLinkerPrivateGlobalPrefix());
|
||||
|
||||
// Tell the assembler which ABI we are using
|
||||
O << "\t.section .mdebug." << emitCurrentABIString() << '\n';
|
||||
|
@ -224,7 +224,7 @@ void SparcAsmPrinter::printCCOperand(const MachineInstr *MI, int opNum) {
|
||||
|
||||
bool SparcAsmPrinter::doInitialization(Module &M) {
|
||||
Mang = new Mangler(M, "", TAI->getPrivateGlobalPrefix(),
|
||||
TAI->getLessPrivateGlobalPrefix());
|
||||
TAI->getLinkerPrivateGlobalPrefix());
|
||||
return false; // success
|
||||
}
|
||||
|
||||
|
@ -93,7 +93,7 @@ FunctionPass *llvm::createSystemZCodePrinterPass(formatted_raw_ostream &o,
|
||||
|
||||
bool SystemZAsmPrinter::doInitialization(Module &M) {
|
||||
Mang = new Mangler(M, "", TAI->getPrivateGlobalPrefix(),
|
||||
TAI->getLessPrivateGlobalPrefix());
|
||||
TAI->getLinkerPrivateGlobalPrefix());
|
||||
return false; // success
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ TargetAsmInfo::TargetAsmInfo(const TargetMachine &tm)
|
||||
MaxOperandLength = 0;
|
||||
GlobalPrefix = "";
|
||||
PrivateGlobalPrefix = ".";
|
||||
LessPrivateGlobalPrefix = "";
|
||||
LinkerPrivateGlobalPrefix = "";
|
||||
JumpTableSpecialLabelPrefix = 0;
|
||||
GlobalVarAddrPrefix = "";
|
||||
GlobalVarAddrSuffix = "";
|
||||
|
Loading…
Reference in New Issue
Block a user