Revert "Do not use llvm::getGlobalContext(), trying to nuke it from LLVM"
authorMehdi Amini <mehdi.amini@apple.com>
Thu, 14 Apr 2016 21:31:46 +0000 (21:31 +0000)
committerMehdi Amini <mehdi.amini@apple.com>
Thu, 14 Apr 2016 21:31:46 +0000 (21:31 +0000)
This reverts commit r266365 and r266367, the contexts in the two
places have to match.

From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 266373

lld/COFF/InputFiles.cpp
lld/COFF/SymbolTable.cpp

index 3c8aab5..088092e 100644 (file)
@@ -320,9 +320,8 @@ void BitcodeFile::parse() {
   // Usually parse() is thread-safe, but bitcode file is an exception.
   std::lock_guard<std::mutex> Lock(Mu);
 
-  llvm::LLVMContext Context;
   ErrorOr<std::unique_ptr<LTOModule>> ModOrErr =
-      LTOModule::createFromBuffer(Context, MB.getBufferStart(),
+      LTOModule::createFromBuffer(llvm::getGlobalContext(), MB.getBufferStart(),
                                   MB.getBufferSize(), llvm::TargetOptions());
   error(ModOrErr, "Could not create lto module");
   M = std::move(*ModOrErr);
index c2d943f..189c3fe 100644 (file)
@@ -369,8 +369,7 @@ 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.
-  LLVMContext Context;
-  LTOCodeGenerator CG(Context);
+  LTOCodeGenerator CG(getGlobalContext());
   CG.setOptLevel(Config->LTOOptLevel);
   std::vector<ObjectFile *> Objs = createLTOObjects(&CG);