diff options
author | Zachary Turner <zturner@google.com> | 2014-06-16 22:40:17 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2014-06-16 22:40:17 +0000 |
commit | aedb5523d288ccc22c2119dc13ed61593bd25ee5 (patch) | |
tree | 2a70e22c08873a5022359c6a8517e57756226acb /lib/Support | |
parent | 9be5c8ca6bb5c91cbc23e24d8703a8e140d68397 (diff) | |
download | llvm-aedb5523d288ccc22c2119dc13ed61593bd25ee5.tar.gz llvm-aedb5523d288ccc22c2119dc13ed61593bd25ee5.tar.bz2 llvm-aedb5523d288ccc22c2119dc13ed61593bd25ee5.tar.xz |
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
Diffstat (limited to 'lib/Support')
-rw-r--r-- | lib/Support/ManagedStatic.cpp | 4 | ||||
-rw-r--r-- | lib/Support/Threading.cpp | 29 | ||||
-rw-r--r-- | lib/Support/Timer.cpp | 2 |
3 files changed, 5 insertions, 30 deletions
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 <pthread.h> 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; |