From e2195d8b357d7081edb5eb09d1d6e9d7b4bfc308 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Sat, 31 Jul 2010 06:22:29 +0000 Subject: [PATCH] Add relax all support to the COFF object streamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109947 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/MC/MCStreamer.h | 3 ++- lib/MC/WinCOFFStreamer.cpp | 7 +++++-- lib/Target/X86/X86TargetMachine.cpp | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/llvm/MC/MCStreamer.h b/include/llvm/MC/MCStreamer.h index 1ded9f785d5..cb36564a878 100644 --- a/include/llvm/MC/MCStreamer.h +++ b/include/llvm/MC/MCStreamer.h @@ -355,7 +355,8 @@ namespace llvm { /// Takes ownership of \arg TAB and \arg CE. MCStreamer *createWinCOFFStreamer(MCContext &Ctx, TargetAsmBackend &TAB, - MCCodeEmitter &CE, raw_ostream &OS); + MCCodeEmitter &CE, raw_ostream &OS, + bool RelaxAll = false); /// createLoggingStreamer - Create a machine code streamer which just logs the /// API calls and then dispatches to another streamer. diff --git a/lib/MC/WinCOFFStreamer.cpp b/lib/MC/WinCOFFStreamer.cpp index 71557f0a4b2..d3a58df81d1 100644 --- a/lib/MC/WinCOFFStreamer.cpp +++ b/lib/MC/WinCOFFStreamer.cpp @@ -339,7 +339,10 @@ namespace llvm MCStreamer *createWinCOFFStreamer(MCContext &Context, TargetAsmBackend &TAB, MCCodeEmitter &CE, - raw_ostream &OS) { - return new WinCOFFStreamer(Context, TAB, CE, OS); + raw_ostream &OS, + bool RelaxAll) { + WinCOFFStreamer *S = new WinCOFFStreamer(Context, TAB, CE, OS); + S->getAssembler().setRelaxAll(RelaxAll); + return S; } } diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 0552a8e6120..cb1bb35b5b0 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -47,7 +47,7 @@ static MCStreamer *createMCStreamer(const Target &T, const std::string &TT, Triple TheTriple(TT); switch (TheTriple.getOS()) { case Triple::Win32: - return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS); + return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS, RelaxAll); default: return createMachOStreamer(Ctx, TAB, _OS, _Emitter, RelaxAll); } -- 2.34.1