From 4a8f62e36f97bbd2d17a8b8a860faf44ff895591 Mon Sep 17 00:00:00 2001 From: Davide Italiano Date: Mon, 8 Aug 2016 03:30:01 +0000 Subject: [PATCH] [MC] Delete use of *structors_used. Jim Grosbach and Kevin Enderby think those are not used anymore. Originally submitted by: Rafael Espindola git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277973 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCAsmInfo.h | 9 --------- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 12 ------------ lib/MC/MCAsmInfo.cpp | 1 - lib/MC/MCAsmInfoDarwin.cpp | 1 - 4 files changed, 23 deletions(-) diff --git a/include/llvm/MC/MCAsmInfo.h b/include/llvm/MC/MCAsmInfo.h index a493e82ad6b..4ae21bf28cb 100644 --- a/include/llvm/MC/MCAsmInfo.h +++ b/include/llvm/MC/MCAsmInfo.h @@ -85,12 +85,6 @@ protected: /// directive for emitting thread local BSS Symbols. Default is false. bool HasMachoTBSSDirective; - /// True if the compiler should emit a ".reference .constructors_used" or - /// ".reference .destructors_used" directive after the static ctor/dtor - /// list. This directive is only emitted in Static relocation model. Default - /// is false. - bool HasStaticCtorDtorReferenceInStaticMode; - /// This is the maximum possible length of an instruction, which is needed to /// compute the size of an inline asm. Defaults to 4. unsigned MaxInstLength; @@ -449,9 +443,6 @@ public: bool hasMachoZeroFillDirective() const { return HasMachoZeroFillDirective; } bool hasMachoTBSSDirective() const { return HasMachoTBSSDirective; } - bool hasStaticCtorDtorReferenceInStaticMode() const { - return HasStaticCtorDtorReferenceInStaticMode; - } unsigned getMaxInstLength() const { return MaxInstLength; } unsigned getMinInstAlignment() const { return MinInstAlignment; } bool getDollarIsPC() const { return DollarIsPC; } diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index c5f415cb529..05bf1cb192e 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1536,12 +1536,6 @@ bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) { EmitXXStructorList(GV->getParent()->getDataLayout(), GV->getInitializer(), /* isCtor */ true); - if (TM.getRelocationModel() == Reloc::Static && - MAI->hasStaticCtorDtorReferenceInStaticMode()) { - StringRef Sym(".constructors_used"); - OutStreamer->EmitSymbolAttribute(OutContext.getOrCreateSymbol(Sym), - MCSA_Reference); - } return true; } @@ -1549,12 +1543,6 @@ bool AsmPrinter::EmitSpecialLLVMGlobal(const GlobalVariable *GV) { EmitXXStructorList(GV->getParent()->getDataLayout(), GV->getInitializer(), /* isCtor */ false); - if (TM.getRelocationModel() == Reloc::Static && - MAI->hasStaticCtorDtorReferenceInStaticMode()) { - StringRef Sym(".destructors_used"); - OutStreamer->EmitSymbolAttribute(OutContext.getOrCreateSymbol(Sym), - MCSA_Reference); - } return true; } diff --git a/lib/MC/MCAsmInfo.cpp b/lib/MC/MCAsmInfo.cpp index 4a05175fdec..3eb8f50de5a 100644 --- a/lib/MC/MCAsmInfo.cpp +++ b/lib/MC/MCAsmInfo.cpp @@ -31,7 +31,6 @@ MCAsmInfo::MCAsmInfo() { HasSubsectionsViaSymbols = false; HasMachoZeroFillDirective = false; HasMachoTBSSDirective = false; - HasStaticCtorDtorReferenceInStaticMode = false; MaxInstLength = 4; MinInstAlignment = 1; DollarIsPC = false; diff --git a/lib/MC/MCAsmInfoDarwin.cpp b/lib/MC/MCAsmInfoDarwin.cpp index fc60313dd6b..e95cf488cd3 100644 --- a/lib/MC/MCAsmInfoDarwin.cpp +++ b/lib/MC/MCAsmInfoDarwin.cpp @@ -76,7 +76,6 @@ MCAsmInfoDarwin::MCAsmInfoDarwin() { ZeroDirective = "\t.space\t"; // ".space N" emits N zeros. HasMachoZeroFillDirective = true; // Uses .zerofill HasMachoTBSSDirective = true; // Uses .tbss - HasStaticCtorDtorReferenceInStaticMode = true; // FIXME: Change this once MC is the system assembler. HasAggressiveSymbolFolding = false; -- 2.11.0