diff --git a/llvm/include/llvm/MC/MCAsmInfo.h b/llvm/include/llvm/MC/MCAsmInfo.h --- a/llvm/include/llvm/MC/MCAsmInfo.h +++ b/llvm/include/llvm/MC/MCAsmInfo.h @@ -311,10 +311,6 @@ /// 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 @@ /// 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 @@ 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 @@ 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 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -395,9 +395,6 @@ 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 @@ } 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 --- a/llvm/lib/MC/MCAsmInfoXCOFF.cpp +++ b/llvm/lib/MC/MCAsmInfoXCOFF.cpp @@ -32,8 +32,6 @@ 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 --- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp @@ -1603,8 +1603,6 @@ 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: