From c6be3ea524c2e4b64a8db0984148f2f50c8f8e25 Mon Sep 17 00:00:00 2001 From: diggerlin Date: Thu, 11 Jun 2020 13:33:51 -0400 Subject: [PATCH] [NFC] clean up the AsmPrinter::emitLinkage for AIX part SUMMARY: Since we deal with aix emitLinkage in the PPCAIXAsmPrinter::emitLinkage() in the patch https://reviews.llvm.org/D75866. It do not go to AsmPrinter::emitLinkage() any more, we clean up some aix related code in the AsmPrinter::emitLinkage() Reviewers: Jason liu Differential Revision: https://reviews.llvm.org/D81613 --- llvm/include/llvm/MC/MCAsmInfo.h | 11 ----------- llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 21 +-------------------- llvm/lib/MC/MCAsmInfoXCOFF.cpp | 2 -- llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 2 -- 4 files changed, 1 insertion(+), 35 deletions(-) diff --git a/llvm/include/llvm/MC/MCAsmInfo.h b/llvm/include/llvm/MC/MCAsmInfo.h index aac1e05..974155f 100644 --- a/llvm/include/llvm/MC/MCAsmInfo.h +++ b/llvm/include/llvm/MC/MCAsmInfo.h @@ -311,10 +311,6 @@ protected: /// false. bool HasAltEntry = false; - /// True if this target supports the XCOFF .extern directive. Defaults to - /// false. - bool HasDotExternDirective = false; - /// Used to declare a global as being a weak symbol. Defaults to ".weak". const char *WeakDirective; @@ -335,10 +331,6 @@ protected: /// Defaults to false. bool AvoidWeakIfComdat = false; - /// True if we have a .lglobl directive, which is used to emit the information - /// of a static symbol into the symbol table. Defaults to false. - bool HasDotLGloblDirective = false; - /// This attribute, if not MCSA_Invalid, is used to declare a symbol as having /// hidden visibility. Defaults to MCSA_Hidden. MCSymbolAttr HiddenVisibilityAttr = MCSA_Hidden; @@ -594,7 +586,6 @@ public: bool hasIdentDirective() const { return HasIdentDirective; } bool hasNoDeadStrip() const { return HasNoDeadStrip; } bool hasAltEntry() const { return HasAltEntry; } - bool hasDotExternDirective() const { return HasDotExternDirective; } const char *getWeakDirective() const { return WeakDirective; } const char *getWeakRefDirective() const { return WeakRefDirective; } bool hasWeakDefDirective() const { return HasWeakDefDirective; } @@ -605,8 +596,6 @@ public: bool avoidWeakIfComdat() const { return AvoidWeakIfComdat; } - bool hasDotLGloblDirective() const { return HasDotLGloblDirective; } - MCSymbolAttr getHiddenVisibilityAttr() const { return HiddenVisibilityAttr; } MCSymbolAttr getHiddenDeclarationVisibilityAttr() const { diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 45ac517..2e7044b 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -395,9 +395,6 @@ void AsmPrinter::emitLinkage(const GlobalValue *GV, MCSymbol *GVSym) const { GlobalValue::LinkageTypes Linkage = GV->getLinkage(); switch (Linkage) { case GlobalValue::CommonLinkage: - assert(!TM.getTargetTriple().isOSBinFormatXCOFF() && - "CommonLinkage of XCOFF should not come to this path."); - LLVM_FALLTHROUGH; case GlobalValue::LinkOnceAnyLinkage: case GlobalValue::LinkOnceODRLinkage: case GlobalValue::WeakAnyLinkage: @@ -421,29 +418,13 @@ void AsmPrinter::emitLinkage(const GlobalValue *GV, MCSymbol *GVSym) const { } return; case GlobalValue::ExternalLinkage: - if (MAI->hasDotExternDirective() && GV->isDeclaration()) - OutStreamer->emitSymbolAttribute(GVSym, MCSA_Extern); - else - OutStreamer->emitSymbolAttribute(GVSym, MCSA_Global); + OutStreamer->emitSymbolAttribute(GVSym, MCSA_Global); return; case GlobalValue::PrivateLinkage: - return; case GlobalValue::InternalLinkage: - if (MAI->hasDotLGloblDirective()) - OutStreamer->emitSymbolAttribute(GVSym, MCSA_LGlobal); return; case GlobalValue::ExternalWeakLinkage: - if (TM.getTargetTriple().isOSBinFormatXCOFF()) { - OutStreamer->emitSymbolAttribute(GVSym, MCSA_Weak); - return; - } - LLVM_FALLTHROUGH; case GlobalValue::AvailableExternallyLinkage: - if (MAI->hasDotExternDirective()) { - OutStreamer->emitSymbolAttribute(GVSym, MCSA_Extern); - return; - } - LLVM_FALLTHROUGH; case GlobalValue::AppendingLinkage: llvm_unreachable("Should never emit this"); } diff --git a/llvm/lib/MC/MCAsmInfoXCOFF.cpp b/llvm/lib/MC/MCAsmInfoXCOFF.cpp index 4a84842..1531f61 100644 --- a/llvm/lib/MC/MCAsmInfoXCOFF.cpp +++ b/llvm/lib/MC/MCAsmInfoXCOFF.cpp @@ -32,8 +32,6 @@ MCAsmInfoXCOFF::MCAsmInfoXCOFF() { COMMDirectiveAlignmentIsInBytes = false; LCOMMDirectiveAlignmentType = LCOMM::Log2Alignment; HasDotTypeDotSizeDirective = false; - HasDotExternDirective = true; - HasDotLGloblDirective = true; SymbolsHaveSMC = true; UseIntegratedAssembler = false; NeedsFunctionDescriptors = true; diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp index d86aa57..fdf5cec 100644 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -1603,8 +1603,6 @@ void PPCAIXAsmPrinter::emitLinkage(const GlobalValue *GV, case GlobalValue::PrivateLinkage: return; case GlobalValue::InternalLinkage: - assert(MAI->hasDotLGloblDirective() && - "Expecting .lglobl to be supported for AIX."); OutStreamer->emitSymbolAttribute(GVSym, MCSA_LGlobal); return; case GlobalValue::AppendingLinkage: -- 2.7.4