[llvm-commits] [llvm] r109947 - in /llvm/trunk: include/llvm/MC/MCStreamer.h lib/MC/WinCOFFStreamer.cpp lib/Target/X86/X86TargetMachine.cpp

Michael J. Spencer bigcheesegs at gmail.com
Fri Jul 30 23:22:29 PDT 2010


Author: mspencer
Date: Sat Jul 31 01:22:29 2010
New Revision: 109947

URL: http://llvm.org/viewvc/llvm-project?rev=109947&view=rev
Log:
Add relax all support to the COFF object streamer.

Modified:
    llvm/trunk/include/llvm/MC/MCStreamer.h
    llvm/trunk/lib/MC/WinCOFFStreamer.cpp
    llvm/trunk/lib/Target/X86/X86TargetMachine.cpp

Modified: llvm/trunk/include/llvm/MC/MCStreamer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCStreamer.h?rev=109947&r1=109946&r2=109947&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCStreamer.h (original)
+++ llvm/trunk/include/llvm/MC/MCStreamer.h Sat Jul 31 01:22:29 2010
@@ -355,7 +355,8 @@
   /// 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.

Modified: llvm/trunk/lib/MC/WinCOFFStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WinCOFFStreamer.cpp?rev=109947&r1=109946&r2=109947&view=diff
==============================================================================
--- llvm/trunk/lib/MC/WinCOFFStreamer.cpp (original)
+++ llvm/trunk/lib/MC/WinCOFFStreamer.cpp Sat Jul 31 01:22:29 2010
@@ -339,7 +339,10 @@
   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;
   }
 }

Modified: llvm/trunk/lib/Target/X86/X86TargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetMachine.cpp?rev=109947&r1=109946&r2=109947&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86TargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86TargetMachine.cpp Sat Jul 31 01:22:29 2010
@@ -47,7 +47,7 @@
   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);
   }





More information about the llvm-commits mailing list