diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/MC/MCELFStreamer.h | 2 | ||||
| -rw-r--r-- | llvm/include/llvm/MC/MCStreamer.h | 5 | ||||
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/MC/MCELFStreamer.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/MC/MCStreamer.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/MC/WinCOFFStreamer.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/GC/ocaml-gc.ll | 6 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/pr19049.ll | 7 |
9 files changed, 18 insertions, 17 deletions
diff --git a/llvm/include/llvm/MC/MCELFStreamer.h b/llvm/include/llvm/MC/MCELFStreamer.h index 46b32d0de6f..ad25e2ce7d4 100644 --- a/llvm/include/llvm/MC/MCELFStreamer.h +++ b/llvm/include/llvm/MC/MCELFStreamer.h @@ -44,7 +44,7 @@ public: /// @name MCStreamer Interface /// @{ - virtual void InitSections(bool Force); + virtual void InitSections(); virtual void ChangeSection(const MCSection *Section, const MCExpr *Subsection); virtual void EmitLabel(MCSymbol *Symbol); diff --git a/llvm/include/llvm/MC/MCStreamer.h b/llvm/include/llvm/MC/MCStreamer.h index 43fa42ba812..e9f6196063f 100644 --- a/llvm/include/llvm/MC/MCStreamer.h +++ b/llvm/include/llvm/MC/MCStreamer.h @@ -352,10 +352,7 @@ public: } /// Create the default sections and set the initial one. - /// - /// @param Force - If false, a text streamer implementation can be a nop. - /// Used by CodeGen to avoid starting every file with '.text'. - virtual void InitSections(bool Force = true); + virtual void InitSections(); /// AssignSection - Sets the symbol's section. /// diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 4d35e863106..fb1d42c06f4 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -175,7 +175,7 @@ bool AsmPrinter::doInitialization(Module &M) { const_cast<TargetLoweringObjectFile&>(getObjFileLowering()) .Initialize(OutContext, TM); - OutStreamer.InitSections(false); + OutStreamer.InitSections(); Mang = new Mangler(TM.getDataLayout()); diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 31f5de56d74..8f0a702fb1c 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -127,11 +127,6 @@ public: virtual void ChangeSection(const MCSection *Section, const MCExpr *Subsection); - virtual void InitSections(bool Force) { - if (Force) - SwitchSection(getContext().getObjectFileInfo()->getTextSection()); - } - virtual void EmitLabel(MCSymbol *Symbol); virtual void EmitDebugLabel(MCSymbol *Symbol); diff --git a/llvm/lib/MC/MCELFStreamer.cpp b/llvm/lib/MC/MCELFStreamer.cpp index 9ff9665d52d..5f6a889769d 100644 --- a/llvm/lib/MC/MCELFStreamer.cpp +++ b/llvm/lib/MC/MCELFStreamer.cpp @@ -38,7 +38,7 @@ using namespace llvm; MCELFStreamer::~MCELFStreamer() { } -void MCELFStreamer::InitSections(bool Force) { +void MCELFStreamer::InitSections() { // 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()); diff --git a/llvm/lib/MC/MCStreamer.cpp b/llvm/lib/MC/MCStreamer.cpp index 02065daf247..08373895814 100644 --- a/llvm/lib/MC/MCStreamer.cpp +++ b/llvm/lib/MC/MCStreamer.cpp @@ -205,7 +205,7 @@ void MCStreamer::EmitEHSymAttributes(const MCSymbol *Symbol, MCSymbol *EHSymbol) { } -void MCStreamer::InitSections(bool Force) { +void MCStreamer::InitSections() { SwitchSection(getContext().getObjectFileInfo()->getTextSection()); } diff --git a/llvm/lib/MC/WinCOFFStreamer.cpp b/llvm/lib/MC/WinCOFFStreamer.cpp index 445d26106ad..55ae2fe23b3 100644 --- a/llvm/lib/MC/WinCOFFStreamer.cpp +++ b/llvm/lib/MC/WinCOFFStreamer.cpp @@ -50,7 +50,7 @@ public: // MCStreamer interface - virtual void InitSections(bool Force); + virtual void InitSections(); virtual void EmitLabel(MCSymbol *Symbol); virtual void EmitDebugLabel(MCSymbol *Symbol); virtual void EmitAssemblerFlag(MCAssemblerFlag Flag); @@ -123,7 +123,7 @@ void WinCOFFStreamer::AddCommonSymbol(MCSymbol *Symbol, uint64_t Size, // MCStreamer interface -void WinCOFFStreamer::InitSections(bool Force) { +void WinCOFFStreamer::InitSections() { // 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. diff --git a/llvm/test/CodeGen/X86/GC/ocaml-gc.ll b/llvm/test/CodeGen/X86/GC/ocaml-gc.ll index 6d5f8aebe13..37ddaf90bf6 100644 --- a/llvm/test/CodeGen/X86/GC/ocaml-gc.ll +++ b/llvm/test/CodeGen/X86/GC/ocaml-gc.ll @@ -1,8 +1,10 @@ ; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s -define i32 @main(i32 %x) nounwind gc "ocaml" { ; CHECK: .text -; CHECK-NEXT: .globl "caml<stdin>__code_begin" +; CHECK-NEXT: .file "<stdin>" + +define i32 @main(i32 %x) nounwind gc "ocaml" { +; CHECK: .globl "caml<stdin>__code_begin" ; CHECK-NEXT: "caml<stdin>__code_begin": ; CHECK-NEXT: .data ; CHECK-NEXT: .globl "caml<stdin>__data_begin" diff --git a/llvm/test/CodeGen/X86/pr19049.ll b/llvm/test/CodeGen/X86/pr19049.ll new file mode 100644 index 00000000000..027c9815e0c --- /dev/null +++ b/llvm/test/CodeGen/X86/pr19049.ll @@ -0,0 +1,7 @@ +; RUN: llc -mtriple x86_64-pc-linux %s -o - | FileCheck %s + +module asm ".pushsection foo" +module asm ".popsection" + +; CHECK: .section foo,"",@progbits +; CHECK: .text |

