[lld] r266365 - Do not use llvm::getGlobalContext(), trying to nuke it from LLVM

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 14 13:53:39 PDT 2016


Author: mehdi_amini
Date: Thu Apr 14 15:53:39 2016
New Revision: 266365

URL: http://llvm.org/viewvc/llvm-project?rev=266365&view=rev
Log:
Do not use llvm::getGlobalContext(), trying to nuke it from LLVM

From: Mehdi Amini <mehdi.amini at apple.com>

Modified:
    lld/trunk/COFF/InputFiles.cpp
    lld/trunk/COFF/SymbolTable.cpp

Modified: lld/trunk/COFF/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/InputFiles.cpp?rev=266365&r1=266364&r2=266365&view=diff
==============================================================================
--- lld/trunk/COFF/InputFiles.cpp (original)
+++ lld/trunk/COFF/InputFiles.cpp Thu Apr 14 15:53:39 2016
@@ -320,8 +320,9 @@ void BitcodeFile::parse() {
   // Usually parse() is thread-safe, but bitcode file is an exception.
   std::lock_guard<std::mutex> Lock(Mu);
 
+  LLVMContext Context;
   ErrorOr<std::unique_ptr<LTOModule>> ModOrErr =
-      LTOModule::createFromBuffer(llvm::getGlobalContext(), MB.getBufferStart(),
+      LTOModule::createFromBuffer(Context, MB.getBufferStart(),
                                   MB.getBufferSize(), llvm::TargetOptions());
   error(ModOrErr, "Could not create lto module");
   M = std::move(*ModOrErr);

Modified: lld/trunk/COFF/SymbolTable.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=266365&r1=266364&r2=266365&view=diff
==============================================================================
--- lld/trunk/COFF/SymbolTable.cpp (original)
+++ lld/trunk/COFF/SymbolTable.cpp Thu Apr 14 15:53:39 2016
@@ -369,7 +369,8 @@ void SymbolTable::addCombinedLTOObjects(
 
   // Create an object file and add it to the symbol table by replacing any
   // DefinedBitcode symbols with the definitions in the object file.
-  LTOCodeGenerator CG(getGlobalContext());
+  LLVMContext Context;
+  LTOCodeGenerator CG(Context);
   CG.setOptLevel(Config->LTOOptLevel);
   std::vector<ObjectFile *> Objs = createLTOObjects(&CG);
 




More information about the llvm-commits mailing list