summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/ManagedStatic.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[C++11] Replace LLVM atomics with std::atomic."Benjamin Kramer2014-03-031-1/+2
| | | | | | | Breaks the MSVC build. DataStream.cpp(44): error C2552: 'llvm::Statistic::Value' : non-aggregates cannot be initialized with initializer list llvm-svn: 202731
* [C++11] Replace LLVM atomics with std::atomic.Benjamin Kramer2014-03-031-2/+1
| | | | | | | | | | | With C++11 we finally have a standardized way to specify atomic operations. Use them to replace the existing custom implemention. Sadly the translation is not entirely trivial as std::atomic allows more fine-grained control over the atomicity. I tried to preserve the old semantics as well as possible. Differential Revision: http://llvm-reviews.chandlerc.com/D2915 llvm-svn: 202730
* Add support for tsan annotations (thread sanitizer, a valgrind-based tool).Nick Lewycky2011-11-141-1/+7
| | | | | | | | | | | | 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! llvm-svn: 144567
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Split the thread-related APIs out into their own file, and add a few moreOwen Anderson2009-06-161-20/+4
| | | | | | calls for convenience. llvm-svn: 73512
* Untabification.Bill Wendling2009-05-301-1/+1
| | | | llvm-svn: 72604
* Have llvm_start_multithreaded return a bool indicating whether multithreadedOwen Anderson2009-05-201-2/+3
| | | | | | initialization succeeded or not, rather than just asserting. llvm-svn: 72182
* Add llvm_start_multithreaded(), which starts up the LLVM internals in ↵Owen Anderson2009-05-201-8/+45
| | | | | | | | thread-safe mode. Provide double-check locking initialization of ManagedStatic's when running in thread-safe mode. llvm-svn: 72151
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Not all managedstatics need object pointers.Chris Lattner2007-02-201-1/+1
| | | | llvm-svn: 34444
* Define this in the correct n/sChris Lattner2006-09-291-1/+1
| | | | llvm-svn: 30671
* new helper class to provide more explicit management of static ctor/dtors.Chris Lattner2006-09-281-0/+53
llvm-svn: 30638
OpenPOWER on IntegriCloud