diff options
-rw-r--r-- | llvm/include/llvm/MC/MCStreamer.h | 3 | ||||
-rw-r--r-- | llvm/lib/MC/WinCOFFStreamer.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.cpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/llvm/include/llvm/MC/MCStreamer.h b/llvm/include/llvm/MC/MCStreamer.h index 1ded9f785d5..cb36564a878 100644 --- a/llvm/include/llvm/MC/MCStreamer.h +++ b/llvm/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/llvm/lib/MC/WinCOFFStreamer.cpp b/llvm/lib/MC/WinCOFFStreamer.cpp index 71557f0a4b2..d3a58df81d1 100644 --- a/llvm/lib/MC/WinCOFFStreamer.cpp +++ b/llvm/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/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index 0552a8e6120..cb1bb35b5b0 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/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); } |