Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Chris Bieneman 6184f87702 Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex.
Summary:
This patch adds an llvm_call_once which is a wrapper around std::call_once on platforms where it is available and devoid of bugs. The patch also migrates the ManagedStatic mutex to be allocated using llvm_call_once.

These changes are philosophically equivalent to the changes added in r219638, which were reverted due to a hang on Win32 which was the result of a bug in the Windows implementation of std::call_once.

Reviewers: aaron.ballman, chapuni, chandlerc, rnk

Reviewed By: rnk

Subscribers: majnemer, llvm-commits

Differential Revision: http://reviews.llvm.org/D5922

llvm-svn: 220932
2014-10-30 22:07:09 +00:00
autoconf [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
bindings [OCaml] Expose LLVMCloneModule. 2014-10-30 08:30:12 +00:00
cmake Re-commit r220667. 2014-10-27 08:16:18 +00:00
docs VMCore was renamed to IR long time ago 2014-10-29 05:20:39 +00:00
examples Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
include Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex. 2014-10-30 22:07:09 +00:00
lib Removing the static initializer in ManagedStatic.cpp by using llvm_call_once to initialize the ManagedStatic mutex. 2014-10-30 22:07:09 +00:00
projects [cmake] Use the external project machinery for libcxxabi so that it can 2014-07-25 10:27:40 +00:00
test Fix the merging of the constantness of declarations. 2014-10-30 20:50:23 +00:00
tools llvm-cov: Follow LLVM naming conventions 2014-10-30 20:57:49 +00:00
unittests Remove the PreserveSource linker mode. 2014-10-28 00:24:16 +00:00
utils Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled 2014-10-29 09:18:49 +00:00
.arcconfig Updated phabricator server. 2014-04-07 03:57:04 +00:00
.clang-format Test commit. 2014-03-02 13:08:46 +00:00
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore Initial version of Go bindings. 2014-10-16 22:48:02 +00:00
CMakeLists.txt Adding llvm-shlib to CMake build system with a few new bells and whistles 2014-10-23 17:22:14 +00:00
CODE_OWNERS.TXT Add Tom Stellard's role as 3.5 release manager. 2014-09-12 08:07:31 +00:00
configure [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
CREDITS.TXT Rise from the dead and update personal info 2014-08-25 17:51:04 +00:00
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common Makefile.common: Update a description, s/Source/SOURCES/ , according to MakefileGuide.html#control-variables . 2012-12-07 01:43:23 +00:00
Makefile.config.in [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
Makefile.rules Revert my earlier change to add "all" as a dependency to check. In 2014-09-19 18:44:27 +00:00
README.txt Trivial test commit. 2014-04-26 19:05:45 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.