From aedb5523d288ccc22c2119dc13ed61593bd25ee5 Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Mon, 16 Jun 2014 22:40:17 +0000 Subject: Remove some more code out into a separate CL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211067 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/ManagedStatic.cpp | 4 +--- lib/Support/Threading.cpp | 29 +++-------------------------- lib/Support/Timer.cpp | 2 +- 3 files changed, 5 insertions(+), 30 deletions(-) (limited to 'lib/Support') diff --git a/lib/Support/ManagedStatic.cpp b/lib/Support/ManagedStatic.cpp index 6f5cf6bcb1..76f86e398d 100644 --- a/lib/Support/ManagedStatic.cpp +++ b/lib/Support/ManagedStatic.cpp @@ -24,7 +24,7 @@ void ManagedStaticBase::RegisterManagedStatic(void *(*Creator)(), void (*Deleter)(void*)) const { assert(Creator); if (llvm_is_multithreaded()) { - llvm::MutexGuard Lock(llvm::llvm_get_global_lock()); + llvm::MutexGuard Lock(llvm_get_global_lock()); if (!Ptr) { void* tmp = Creator(); @@ -76,6 +76,4 @@ void ManagedStaticBase::destroy() const { void llvm::llvm_shutdown() { while (StaticList) StaticList->destroy(); - - if (llvm_is_multithreaded()) llvm_stop_multithreaded(); } diff --git a/lib/Support/Threading.cpp b/lib/Support/Threading.cpp index 33943efcd6..ff591aaa1d 100644 --- a/lib/Support/Threading.cpp +++ b/lib/Support/Threading.cpp @@ -7,7 +7,8 @@ // //===----------------------------------------------------------------------===// // -// This file implements llvm_start_multithreaded() and friends. +// This file implements helper functions for running LLVM in a multi-threaded +// environment. // //===----------------------------------------------------------------------===// @@ -19,43 +20,19 @@ using namespace llvm; -static bool multithreaded_mode = false; - sys::Mutex& llvm::llvm_get_global_lock() { static sys::Mutex global_lock; return global_lock; } -bool llvm::llvm_start_multithreaded() { +bool llvm::llvm_is_multithreaded() { #if LLVM_ENABLE_THREADS != 0 - assert(!multithreaded_mode && "Already multithreaded!"); - multithreaded_mode = true; - - // We fence here to ensure that all initialization is complete BEFORE we - // return from llvm_start_multithreaded(). - sys::MemoryFence(); return true; #else return false; #endif } -void llvm::llvm_stop_multithreaded() { -#if LLVM_ENABLE_THREADS != 0 - assert(multithreaded_mode && "Not currently multithreaded!"); - - // We fence here to insure that all threaded operations are complete BEFORE we - // return from llvm_stop_multithreaded(). - sys::MemoryFence(); - - multithreaded_mode = false; -#endif -} - -bool llvm::llvm_is_multithreaded() { - return multithreaded_mode; -} - #if LLVM_ENABLE_THREADS != 0 && defined(HAVE_PTHREAD_H) #include diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index 417ac8d6bb..c7427260bf 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -18,7 +18,7 @@ #include "llvm/Support/FileSystem.h" #include "llvm/Support/Format.h" #include "llvm/Support/ManagedStatic.h" -#include "llvm/support/MutexGuard.h" +#include "llvm/Support/MutexGuard.h" #include "llvm/Support/Process.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; -- cgit v1.2.3