From c5b61da308d9b4ddd791a572f71fa22e61b15eab Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 24 Jan 2014 02:28:11 +0000 Subject: [PATCH] Inline trivial functions called only once or twice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199967 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/MC/WinCOFFStreamer.cpp | 46 ++++++++++++-------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/lib/MC/WinCOFFStreamer.cpp b/lib/MC/WinCOFFStreamer.cpp index 2e090a045e9..6dbe518d1a2 100644 --- a/lib/MC/WinCOFFStreamer.cpp +++ b/lib/MC/WinCOFFStreamer.cpp @@ -94,33 +94,6 @@ private: } DF->getContents().append(Code.begin(), Code.end()); } - - const MCSection *getSectionText() { - return getContext().getObjectFileInfo()->getTextSection(); - } - - const MCSection *getSectionData() { - return getContext().getObjectFileInfo()->getDataSection(); - } - - const MCSection *getSectionBSS() { - return getContext().getObjectFileInfo()->getBSSSection(); - } - - void SetSectionText() { - SwitchSection(getSectionText()); - EmitCodeAlignment(4, 0); - } - - void SetSectionData() { - SwitchSection(getSectionData()); - EmitCodeAlignment(4, 0); - } - - void SetSectionBSS() { - SwitchSection(getSectionBSS()); - EmitCodeAlignment(4, 0); - } }; } // end anonymous namespace. @@ -132,7 +105,7 @@ void WinCOFFStreamer::AddCommonSymbol(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment, bool External) { assert(!Symbol->isInSection() && "Symbol must not already have a section!"); - const MCSection *Section = getSectionBSS(); + const MCSection *Section = getContext().getObjectFileInfo()->getBSSSection(); MCSectionData &SectionData = getAssembler().getOrCreateSectionData(*Section); if (SectionData.getAlignment() < ByteAlignment) SectionData.setAlignment(ByteAlignment); @@ -151,10 +124,19 @@ void WinCOFFStreamer::AddCommonSymbol(MCSymbol *Symbol, uint64_t Size, // MCStreamer interface void WinCOFFStreamer::InitSections() { - SetSectionText(); - SetSectionData(); - SetSectionBSS(); - SetSectionText(); + // FIXME: this is identical to the ELF one. + // This emulates the same behavior of GNU as. This makes it easier + // to compare the output as the major sections are in the same order. + SwitchSection(getContext().getObjectFileInfo()->getTextSection()); + EmitCodeAlignment(4, 0); + + SwitchSection(getContext().getObjectFileInfo()->getDataSection()); + EmitCodeAlignment(4, 0); + + SwitchSection(getContext().getObjectFileInfo()->getBSSSection()); + EmitCodeAlignment(4, 0); + + SwitchSection(getContext().getObjectFileInfo()->getTextSection()); } void WinCOFFStreamer::EmitLabel(MCSymbol *Symbol) {