diff options
-rw-r--r-- | llvm/include/llvm/LTO/LTO.h | 2 | ||||
-rw-r--r-- | llvm/lib/LTO/LTO.cpp | 20 |
2 files changed, 10 insertions, 12 deletions
diff --git a/llvm/include/llvm/LTO/LTO.h b/llvm/include/llvm/LTO/LTO.h index 7672e5195db..d5f3b12cc8e 100644 --- a/llvm/include/llvm/LTO/LTO.h +++ b/llvm/include/llvm/LTO/LTO.h @@ -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, diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp index 4ae23c1e256..32bddbc8f1a 100644 --- a/llvm/lib/LTO/LTO.cpp +++ b/llvm/lib/LTO/LTO.cpp @@ -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(); |