diff options
author | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-07-31 06:22:29 +0000 |
---|---|---|
committer | Michael J. Spencer <bigcheesegs@gmail.com> | 2010-07-31 06:22:29 +0000 |
commit | e2195d8b357d7081edb5eb09d1d6e9d7b4bfc308 (patch) | |
tree | 54ba99ab82e29d60d1c7db547e66d841fafe0065 | |
parent | 98e1479575c87fcd16d2087c99b8e07e6722ac36 (diff) | |
download | external_llvm-e2195d8b357d7081edb5eb09d1d6e9d7b4bfc308.zip external_llvm-e2195d8b357d7081edb5eb09d1d6e9d7b4bfc308.tar.gz external_llvm-e2195d8b357d7081edb5eb09d1d6e9d7b4bfc308.tar.bz2 |
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
-rw-r--r-- | include/llvm/MC/MCStreamer.h | 3 | ||||
-rw-r--r-- | lib/MC/WinCOFFStreamer.cpp | 7 | ||||
-rw-r--r-- | 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 1ded9f7..cb36564 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 71557f0..d3a58df 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 0552a8e..cb1bb35 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); } |