Go to file
Richard Smith 3ad0636e0a Part of PR39508: Emit an @llvm.invariant.start after storing to
__tls_guard.

__tls_guard can only ever transition from 0 to 1, and only once. This
permits LLVM to remove repeated checks for TLS initialization and
repeated initialization code in cases like:

  int g();
  thread_local int n = g();
  int a = n + n;

where we could not prove that __tls_guard was still 'true' when checking
it for the second reference to 'n' in the initializer of 'a'.

llvm-svn: 345774
2018-10-31 20:39:26 +00:00
clang Part of PR39508: Emit an @llvm.invariant.start after storing to 2018-10-31 20:39:26 +00:00
clang-tools-extra Removing a reliance on system headers from this test; NFC. 2018-10-31 19:17:44 +00:00
compiler-rt [compiler-rt][Fuzzer] Use the new C++ ABI namespace CMake support 2018-10-31 19:15:48 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx [NFC] Replace C++1y and C++1z by C++14 and C++17, respectively 2018-10-31 18:53:31 +00:00
libcxxabi [libc++abi] Provide __cxa_thread_atexit on Fuchsia 2018-10-29 20:20:26 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld [WedAssembly] Add -s and -S alias for --strip-all and --strip-debug 2018-10-31 19:30:43 +00:00
lldb Makefile.rules: Don't use code signing on macOS; it isn't necessary. 2018-10-31 19:42:02 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm Remove unused internal template parameter. 2018-10-31 20:38:41 +00:00
openmp [LIBOMPTARGET] Add support for mapping of lambda captures. 2018-10-30 15:42:12 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [TI removal] Generically discuss terminators rather than use the soon to 2018-10-18 07:43:30 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

The LLVM Compiler Infrastructure

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