forked from OSchip/llvm-project
Revert "Remove extra argument used once on
TargetMachine::getNameWithPrefix and inline the result into the singular caller." and "Remove more guts of TargetMachine::getNameWithPrefix and migrate one check to the TLOF mach-o version." temporarily until I can get the whole call migrated out of the TargetMachine as we could hit places where TLOF isn't valid. This reverts commits r281981 and r281983. llvm-svn: 282028
This commit is contained in:
parent
ea625ea01e
commit
c4636b3002
|
@ -265,7 +265,7 @@ public:
|
||||||
virtual bool targetSchedulesPostRAScheduling() const { return false; };
|
virtual bool targetSchedulesPostRAScheduling() const { return false; };
|
||||||
|
|
||||||
void getNameWithPrefix(SmallVectorImpl<char> &Name, const GlobalValue *GV,
|
void getNameWithPrefix(SmallVectorImpl<char> &Name, const GlobalValue *GV,
|
||||||
Mangler &Mang) const;
|
Mangler &Mang, bool MayAlwaysUsePrivate = false) const;
|
||||||
MCSymbol *getSymbol(const GlobalValue *GV, Mangler &Mang) const;
|
MCSymbol *getSymbol(const GlobalValue *GV, Mangler &Mang) const;
|
||||||
|
|
||||||
/// True if the target uses physical regs at Prolog/Epilog insertion
|
/// True if the target uses physical regs at Prolog/Epilog insertion
|
||||||
|
|
|
@ -301,7 +301,7 @@ selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV,
|
||||||
|
|
||||||
if (EmitUniqueSection && UniqueSectionNames) {
|
if (EmitUniqueSection && UniqueSectionNames) {
|
||||||
Name.push_back('.');
|
Name.push_back('.');
|
||||||
Mang.getNameWithPrefix(Name, GV, false);
|
TM.getNameWithPrefix(Name, GV, Mang, true);
|
||||||
}
|
}
|
||||||
unsigned UniqueID = MCContext::GenericSectionID;
|
unsigned UniqueID = MCContext::GenericSectionID;
|
||||||
if (EmitUniqueSection && !UniqueSectionNames) {
|
if (EmitUniqueSection && !UniqueSectionNames) {
|
||||||
|
@ -817,13 +817,6 @@ static bool canUsePrivateLabel(const MCAsmInfo &AsmInfo,
|
||||||
void TargetLoweringObjectFileMachO::getNameWithPrefix(
|
void TargetLoweringObjectFileMachO::getNameWithPrefix(
|
||||||
SmallVectorImpl<char> &OutName, const GlobalValue *GV,
|
SmallVectorImpl<char> &OutName, const GlobalValue *GV,
|
||||||
const TargetMachine &TM) const {
|
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);
|
SectionKind GVKind = TargetLoweringObjectFile::getKindForGlobal(GV, TM);
|
||||||
const MCSection *TheSection = SectionForGlobal(GV, GVKind, TM);
|
const MCSection *TheSection = SectionForGlobal(GV, GVKind, TM);
|
||||||
bool CannotUsePrivateLabel =
|
bool CannotUsePrivateLabel =
|
||||||
|
|
|
@ -199,8 +199,16 @@ TargetIRAnalysis TargetMachine::getTargetIRAnalysis() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TargetMachine::getNameWithPrefix(SmallVectorImpl<char> &Name,
|
void TargetMachine::getNameWithPrefix(SmallVectorImpl<char> &Name,
|
||||||
const GlobalValue *GV, Mangler &Mang) const {
|
const GlobalValue *GV, Mangler &Mang,
|
||||||
getObjFileLowering()->getNameWithPrefix(Name, GV, *this);
|
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 {
|
MCSymbol *TargetMachine::getSymbol(const GlobalValue *GV, Mangler &Mang) const {
|
||||||
|
|
Loading…
Reference in New Issue