Make writeToResolutionFile a static helper.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 26 Aug 2016 20:19:35 +0000 (20:19 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 26 Aug 2016 20:19:35 +0000 (20:19 +0000)
llvm-svn: 279859

llvm/include/llvm/LTO/LTO.h
llvm/lib/LTO/LTO.cpp

index 7672e51..d5f3b12 100644 (file)
@@ -368,8 +368,6 @@ private:
   // Global mapping from mangled symbol names to resolutions.
   StringMap<GlobalResolution> GlobalResolutions;
 
-  void writeToResolutionFile(InputFile *Input, ArrayRef<SymbolResolution> Res);
-
   void addSymbolToGlobalRes(object::IRObjectFile *Obj,
                             SmallPtrSet<GlobalValue *, 8> &Used,
                             const InputFile::Symbol &Sym, SymbolResolution Res,
index 4ae23c1..32bddbc 100644 (file)
@@ -257,23 +257,23 @@ void LTO::addSymbolToGlobalRes(IRObjectFile *Obj,
     GlobalRes.Partition = Partition;
 }
 
-void LTO::writeToResolutionFile(InputFile *Input,
-                                ArrayRef<SymbolResolution> Res) {
-  StringRef Path = Input->Obj->getMemoryBufferRef().getBufferIdentifier();
-  *Conf.ResolutionFile << Path << '\n';
+static void writeToResolutionFile(raw_ostream &OS, InputFile *Input,
+                                  ArrayRef<SymbolResolution> Res) {
+  StringRef Path = Input->getMemoryBufferRef().getBufferIdentifier();
+  OS << Path << '\n';
   auto ResI = Res.begin();
   for (const InputFile::Symbol &Sym : Input->symbols()) {
     assert(ResI != Res.end());
     SymbolResolution Res = *ResI++;
 
-    *Conf.ResolutionFile << "-r=" << Path << ',' << Sym.getName() << ',';
+    OS << "-r=" << Path << ',' << Sym.getName() << ',';
     if (Res.Prevailing)
-      *Conf.ResolutionFile << 'p';
+      OS << 'p';
     if (Res.FinalDefinitionInLinkageUnit)
-      *Conf.ResolutionFile << 'l';
+      OS << 'l';
     if (Res.VisibleToRegularObj)
-      *Conf.ResolutionFile << 'x';
-    *Conf.ResolutionFile << '\n';
+      OS << 'x';
+    OS << '\n';
   }
   assert(ResI == Res.end());
 }
@@ -283,7 +283,7 @@ Error LTO::add(std::unique_ptr<InputFile> Input,
   assert(!CalledGetMaxTasks);
 
   if (Conf.ResolutionFile)
-    writeToResolutionFile(Input.get(), Res);
+    writeToResolutionFile(*Conf.ResolutionFile, Input.get(), Res);
 
   // FIXME: move to backend
   Module &M = Input->Obj->getModule();