forked from OSchip/llvm-project
In preparation for removing getNameWithPrefix off of TargetMachine,
sink the current behavior into the callers and sink TargetMachine::getNameWithPrefix into TargetMachine::getSymbol. llvm-svn: 284203
This commit is contained in:
parent
445c952bd0
commit
2bd52b5d91
|
@ -301,7 +301,7 @@ selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV,
|
|||
|
||||
if (EmitUniqueSection && UniqueSectionNames) {
|
||||
Name.push_back('.');
|
||||
TM.getNameWithPrefix(Name, GV, Mang, true);
|
||||
Mang.getNameWithPrefix(Name, GV, false);
|
||||
}
|
||||
unsigned UniqueID = MCContext::GenericSectionID;
|
||||
if (EmitUniqueSection && !UniqueSectionNames) {
|
||||
|
@ -817,6 +817,13 @@ static bool canUsePrivateLabel(const MCAsmInfo &AsmInfo,
|
|||
void TargetLoweringObjectFileMachO::getNameWithPrefix(
|
||||
SmallVectorImpl<char> &OutName, const GlobalValue *GV,
|
||||
const TargetMachine &TM) const {
|
||||
if (!GV->hasPrivateLinkage()) {
|
||||
// Simple case: If GV is not private, it is not important to find out if
|
||||
// private labels are legal in this case or not.
|
||||
getMangler().getNameWithPrefix(OutName, GV, false);
|
||||
return;
|
||||
}
|
||||
|
||||
SectionKind GVKind = TargetLoweringObjectFile::getKindForGlobal(GV, TM);
|
||||
const MCSection *TheSection = SectionForGlobal(GV, GVKind, TM);
|
||||
bool CannotUsePrivateLabel =
|
||||
|
|
|
@ -203,19 +203,13 @@ TargetIRAnalysis TargetMachine::getTargetIRAnalysis() {
|
|||
void TargetMachine::getNameWithPrefix(SmallVectorImpl<char> &Name,
|
||||
const GlobalValue *GV, Mangler &Mang,
|
||||
bool MayAlwaysUsePrivate) const {
|
||||
if (MayAlwaysUsePrivate || !GV->hasPrivateLinkage()) {
|
||||
// Simple case: If GV is not private, it is not important to find out if
|
||||
// private labels are legal in this case or not.
|
||||
Mang.getNameWithPrefix(Name, GV, false);
|
||||
return;
|
||||
}
|
||||
const TargetLoweringObjectFile *TLOF = getObjFileLowering();
|
||||
TLOF->getNameWithPrefix(Name, GV, *this);
|
||||
}
|
||||
|
||||
MCSymbol *TargetMachine::getSymbol(const GlobalValue *GV, Mangler &Mang) const {
|
||||
SmallString<128> NameStr;
|
||||
getNameWithPrefix(NameStr, GV, Mang);
|
||||
const TargetLoweringObjectFile *TLOF = getObjFileLowering();
|
||||
TLOF->getNameWithPrefix(NameStr, GV, *this);
|
||||
return TLOF->getContext().getOrCreateSymbol(NameStr);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue