Fix test-test-set (#2384)
authorLi-Wen Chang <30609447+liwchang@users.noreply.github.com>
Tue, 8 Jan 2019 02:58:14 +0000 (18:58 -0800)
committerTianqi Chen <tqchen@users.noreply.github.com>
Tue, 8 Jan 2019 02:58:14 +0000 (18:58 -0800)
src/codegen/llvm/llvm_common.cc

index 48c3e788a7f2f39b1352a3ec4e7a4b8c3412002f..78112373fbbf032847d12eea15ae0bbb515666cb 100644 (file)
@@ -13,7 +13,7 @@ namespace codegen {
 
 struct LLVMEnv {
   std::mutex mu;
-  bool all_initialized{false};
+  volatile bool all_initialized{false};
 
   static LLVMEnv* Global() {
     static LLVMEnv inst;
@@ -26,12 +26,12 @@ void InitializeLLVM() {
   if (!e->all_initialized) {
     std::lock_guard<std::mutex> lock(e->mu);
     if (!e->all_initialized) {
-      e->all_initialized = true;
       llvm::InitializeAllTargetInfos();
       llvm::InitializeAllTargets();
       llvm::InitializeAllTargetMCs();
       llvm::InitializeAllAsmParsers();
       llvm::InitializeAllAsmPrinters();
+      e->all_initialized = true;
     }
   }
 }