aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Support/ManagedStatic.h
AgeCommit message (Collapse)Author
2011-11-14Add support for tsan annotations (thread sanitizer, a valgrind-based tool).Nick Lewycky
These annotations are disabled entirely when either ENABLE_THREADS is off, or building a release build. When enabled, they add calls to functions with no statements to ManagedStatic's getters. Use these annotations to inform tsan that the race used inside ManagedStatic initialization is actually benign. Thanks to Kostya Serebryany for helping write this patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144567 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29Merge System into Support.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07Remove dead code. ManagedCleanup is unused, and contained a serious bug in thatOwen Anderson
the provided cleanup function is never actually called. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113284 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09Resolve undefined behaviour when ManagedStatic is instantiated with a ↵Alisdair Meredith
fixed-length array type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-19Fences are expensive. Avoid doing them when we're not in multithreaded mode.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-18Move Threading.[h|cpp] from Support to System.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73707 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16Split the thread-related APIs out into their own file, and add a few moreOwen Anderson
calls for convenience. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73512 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20Have llvm_start_multithreaded return a bool indicating whether multithreadedOwen Anderson
initialization succeeded or not, rather than just asserting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72182 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-20Add llvm_start_multithreaded(), which starts up the LLVM internals in ↵Owen Anderson
thread-safe mode. Provide double-check locking initialization of ManagedStatic's when running in thread-safe mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72151 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-16Back out the thread-safe ManagedStatic for now. Too many people have too ↵Owen Anderson
many problems with it for the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71931 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15Factor out some common code, fix more typoes, and add a memory fence that ↵Owen Anderson
might be needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15Fix an unfortunate typo.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15Now with working on Leopard!Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-14Make ManagedStatic threadsafe by using atomic operations.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20Removed trailing whitespace.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65196 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29Don't attribute in file headers anymore. See llvmdev for theChris Lattner
discussion of this change. Boy are my fingers tired. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-20add a way to register an arbitrary cleanup function.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34442 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-10add helper method.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34155 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06add a helper to call llvm_shutdown()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32249 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-28new helper class to provide more explicit management of static ctor/dtors.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30638 91177308-0d34-0410-b5e6-96231b3b80d8