[MC] Remove MCAssembler's copy of OS
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 1 Sep 2015 23:19:38 +0000 (23:19 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 1 Sep 2015 23:19:38 +0000 (23:19 +0000)
We can just ask the ObjectWriter for it's stream instead of caching
around our own reference to it.  No functionality change is intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246604 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/MC/MCAssembler.h
lib/MC/MCAssembler.cpp
lib/MC/MCObjectStreamer.cpp

index a00b12b9af13855d51944cf5f7249e133d2e2651..eec9d1ecb1ca119c3b1ab0837fd01ebf6c20aec3 100644 (file)
@@ -576,8 +576,6 @@ private:
 
   MCObjectWriter &Writer;
 
-  raw_ostream &OS;
-
   SectionListType Sections;
 
   SymbolDataListType Symbols;
@@ -723,8 +721,7 @@ public:
   // option is to make this abstract, and have targets provide concrete
   // implementations as we do with AsmParser.
   MCAssembler(MCContext &Context_, MCAsmBackend &Backend_,
-              MCCodeEmitter &Emitter_, MCObjectWriter &Writer_,
-              raw_ostream &OS);
+              MCCodeEmitter &Emitter_, MCObjectWriter &Writer_);
   ~MCAssembler();
 
   /// Reuse an assembler instance
index 3f419b5b1e44ae512c68bdeaa55c03859f1961f2..79854596bc63fb2c73e406be3370e87785ca588a 100644 (file)
@@ -325,11 +325,10 @@ void MCFragment::destroy() {
 /* *** */
 
 MCAssembler::MCAssembler(MCContext &Context_, MCAsmBackend &Backend_,
-                         MCCodeEmitter &Emitter_, MCObjectWriter &Writer_,
-                         raw_ostream &OS_)
+                         MCCodeEmitter &Emitter_, MCObjectWriter &Writer_)
     : Context(Context_), Backend(Backend_), Emitter(Emitter_), Writer(Writer_),
-      OS(OS_), BundleAlignSize(0), RelaxAll(false),
-      SubsectionsViaSymbols(false), ELFHeaderEFlags(0) {
+      BundleAlignSize(0), RelaxAll(false), SubsectionsViaSymbols(false),
+      ELFHeaderEFlags(0) {
   VersionMinInfo.Major = 0; // Major version == 0 for "none specified"
 }
 
@@ -933,6 +932,7 @@ void MCAssembler::Finish() {
   MCAsmLayout Layout(*this);
   layout(Layout);
 
+  raw_ostream &OS = getWriter().getStream();
   uint64_t StartOffset = OS.tell();
 
   // Write the object file.
index 49b8358e6e8e741a7f5601d50c211e002b5c5f5e..1da182b355953c50decf0cdae44cc4e9625e5c4c 100644 (file)
@@ -28,7 +28,7 @@ MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB,
                                    MCCodeEmitter *Emitter_)
     : MCStreamer(Context),
       Assembler(new MCAssembler(Context, TAB, *Emitter_,
-                                *TAB.createObjectWriter(OS), OS)),
+                                *TAB.createObjectWriter(OS))),
       EmitEHFrame(true), EmitDebugFrame(false) {}
 
 MCObjectStreamer::~MCObjectStreamer() {