diff options
Diffstat (limited to 'include/llvm/Support/Threading.h')
-rw-r--r-- | include/llvm/Support/Threading.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/include/llvm/Support/Threading.h b/include/llvm/Support/Threading.h index 7e8758407c..d84d118679 100644 --- a/include/llvm/Support/Threading.h +++ b/include/llvm/Support/Threading.h @@ -7,8 +7,7 @@ // //===----------------------------------------------------------------------===// // -// This file declares helper functions for running LLVM in a multi-threaded -// environment. +// TThis file defines llvm_start_multithreaded() and friends. // //===----------------------------------------------------------------------===// @@ -16,8 +15,22 @@ #define LLVM_SUPPORT_THREADING_H namespace llvm { - /// Returns true if LLVM is compiled with support for multi-threading, and - /// false otherwise. + /// llvm_start_multithreaded - Allocate and initialize structures needed to + /// make LLVM safe for multithreading. The return value indicates whether + /// multithreaded initialization succeeded. LLVM will still be operational + /// on "failed" return, and will still be safe for hosting threading + /// applications in the JIT, but will not be safe for concurrent calls to the + /// LLVM APIs. + /// THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS. + bool llvm_start_multithreaded(); + + /// llvm_stop_multithreaded - Deallocate structures necessary to make LLVM + /// safe for multithreading. + /// THIS MUST EXECUTE IN ISOLATION FROM ALL OTHER LLVM API CALLS. + void llvm_stop_multithreaded(); + + /// llvm_is_multithreaded - Check whether LLVM is executing in thread-safe + /// mode or not. bool llvm_is_multithreaded(); /// llvm_execute_on_thread - Execute the given \p UserFn on a separate |