diff options
| author | Eric Christopher <echristo@gmail.com> | 2016-09-20 22:03:28 +0000 |
|---|---|---|
| committer | Eric Christopher <echristo@gmail.com> | 2016-09-20 22:03:28 +0000 |
| commit | c4636b30020d6a92c26c67af3f4ce30b28aefeeb (patch) | |
| tree | ec7271759ed0fd6798a830897876eb2743d41333 /llvm/lib | |
| parent | ea625ea01e200e4fac837d01e8abef665e3c8801 (diff) | |
| download | bcm5719-llvm-c4636b30020d6a92c26c67af3f4ce30b28aefeeb.tar.gz bcm5719-llvm-c4636b30020d6a92c26c67af3f4ce30b28aefeeb.zip | |
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
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 9 | ||||
| -rw-r--r-- | llvm/lib/Target/TargetMachine.cpp | 12 |
2 files changed, 11 insertions, 10 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index b8339eefd9c..edaa778a605 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -301,7 +301,7 @@ selectELFSectionForGlobal(MCContext &Ctx, const GlobalValue *GV, if (EmitUniqueSection && UniqueSectionNames) { Name.push_back('.'); - Mang.getNameWithPrefix(Name, GV, false); + TM.getNameWithPrefix(Name, GV, Mang, true); } unsigned UniqueID = MCContext::GenericSectionID; if (EmitUniqueSection && !UniqueSectionNames) { @@ -817,13 +817,6 @@ 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 = diff --git a/llvm/lib/Target/TargetMachine.cpp b/llvm/lib/Target/TargetMachine.cpp index aa1916bb2eb..17caed97391 100644 --- a/llvm/lib/Target/TargetMachine.cpp +++ b/llvm/lib/Target/TargetMachine.cpp @@ -199,8 +199,16 @@ TargetIRAnalysis TargetMachine::getTargetIRAnalysis() { } void TargetMachine::getNameWithPrefix(SmallVectorImpl<char> &Name, - const GlobalValue *GV, Mangler &Mang) const { - getObjFileLowering()->getNameWithPrefix(Name, GV, *this); + 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 { |

