X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=include%2Fllvm%2FSupport%2FThreading.h;h=3cca1d6a9913f82aea1a6146f8f6474e81077ab0;hp=cc9727031fddd656dc4353eddc6ca1d5ac1b600a;hb=cd52a7a381a73c53ec4ef517ad87f19808cb1a28;hpb=45ed68789b440ef68863168002dd55cfb4068b79 diff --git a/include/llvm/Support/Threading.h b/include/llvm/Support/Threading.h index cc9727031fd..3cca1d6a991 100644 --- a/include/llvm/Support/Threading.h +++ b/include/llvm/Support/Threading.h @@ -15,17 +15,14 @@ #ifndef LLVM_SUPPORT_THREADING_H #define LLVM_SUPPORT_THREADING_H -#if !defined(__MINGW__) -#include -#endif - namespace llvm { /// Returns true if LLVM is compiled with support for multi-threading, and /// false otherwise. bool llvm_is_multithreaded(); /// llvm_execute_on_thread - Execute the given \p UserFn on a separate - /// thread, passing it the provided \p UserData. + /// thread, passing it the provided \p UserData and waits for thread + /// completion. /// /// This function does not guarantee that the code will actually be executed /// on a separate thread or honoring the requested stack size, but tries to do @@ -37,33 +34,6 @@ namespace llvm { /// the thread stack. void llvm_execute_on_thread(void (*UserFn)(void*), void *UserData, unsigned RequestedStackSize = 0); - -/// \brief Execute the function specified as a template parameter once. -/// -/// Calls \p UserFn once ever. The call uniqueness is based on the address of -/// the function passed in via the template arguement. This means no matter how -/// many times you call llvm_call_once() in the same or different -/// locations, foo will only be called once. -/// -/// Typical usage: -/// \code -/// void foo() {...}; -/// ... -/// llvm_call_once(); -/// \endcode -/// -/// \tparam UserFn Function to call once. -template void llvm_call_once() { -#if !defined(__MINGW__) - static std::once_flag flag; - std::call_once(flag, UserFn); -#else - struct InitOnceWrapper { - InitOnceWrapper() { UserFn(); } - }; - static InitOnceWrapper InitOnceVar; -#endif -} } #endif