diff options
Diffstat (limited to 'ELF/LTO.cpp')
-rw-r--r-- | ELF/LTO.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/ELF/LTO.cpp b/ELF/LTO.cpp index 28d4bfe77c5d4..6da409568c8b1 100644 --- a/ELF/LTO.cpp +++ b/ELF/LTO.cpp @@ -42,15 +42,15 @@ using namespace llvm; using namespace llvm::object; using namespace llvm::ELF; -using namespace lld; -using namespace lld::elf; +namespace lld { +namespace elf { // Creates an empty file to store a list of object files for final // linking of distributed ThinLTO. static std::unique_ptr<raw_fd_ostream> openFile(StringRef file) { std::error_code ec; auto ret = - llvm::make_unique<raw_fd_ostream>(file, ec, sys::fs::OpenFlags::F_None); + std::make_unique<raw_fd_ostream>(file, ec, sys::fs::OpenFlags::OF_None); if (ec) { error("cannot open " + file + ": " + ec.message()); return nullptr; @@ -76,7 +76,9 @@ static lto::Config createConfig() { c.Options.FunctionSections = true; c.Options.DataSections = true; - if (config->relocatable) + if (auto relocModel = getRelocModelFromCMModel()) + c.RelocModel = *relocModel; + else if (config->relocatable) c.RelocModel = None; else if (config->isPic) c.RelocModel = Reloc::PIC_; @@ -139,7 +141,7 @@ BitcodeCompiler::BitcodeCompiler() { backend = lto::createInProcessThinBackend(config->thinLTOJobs); } - ltoObj = llvm::make_unique<lto::LTO>(createConfig(), backend, + ltoObj = std::make_unique<lto::LTO>(createConfig(), backend, config->ltoPartitions); // Initialize usedStartStop. @@ -249,8 +251,8 @@ std::vector<InputFile *> BitcodeCompiler::compile() { if (!bitcodeFiles.empty()) checkError(ltoObj->run( [&](size_t task) { - return llvm::make_unique<lto::NativeObjectStream>( - llvm::make_unique<raw_svector_ostream>(buf[task])); + return std::make_unique<lto::NativeObjectStream>( + std::make_unique<raw_svector_ostream>(buf[task])); }, cache)); @@ -301,3 +303,6 @@ std::vector<InputFile *> BitcodeCompiler::compile() { ret.push_back(createObjectFile(*file)); return ret; } + +} // namespace elf +} // namespace lld |