Go to file
Quentin Colombet 96f54de8ff [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible
This commit teaches InstCombine how to replace an atomicrmw operation
into a simple load atomic.
For a given `atomicrmw <op>`, this is possible when:
1. The ordering of that operation is compatible with a load (i.e.,
   anything that doesn't have a release semantic).
2. <op> does not modify the value being stored

Differential Revision: https://reviews.llvm.org/D57854

llvm-svn: 353471
2019-02-07 21:27:23 +00:00
clang [Sema][ObjC] Disallow non-trivial C struct fields in unions. 2019-02-07 20:21:46 +00:00
clang-tools-extra [clangd] Mention indexing in docs. 2019-02-07 16:10:39 +00:00
compiler-rt [InstrProf] Port test suite to Windows 2019-02-07 17:52:05 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
libcxx Add static_asserts to tuple's comparison operators to enforce the requirement that the tuples be the same size. See PR39183 for an example where we give unexpected results for this bad input case. With this change, we will reject it at compile-time 2019-02-07 19:03:48 +00:00
libcxxabi [CMake] Support compiler-rt builtins library in tests 2019-02-05 19:50:47 +00:00
libunwind [CMake] Support compiler-rt builtins library in tests 2019-02-05 19:50:47 +00:00
lld [WebAssembly] Improve docs for wasm linker 2019-02-07 19:05:26 +00:00
lldb Silence fallthrough warnings in debugserver. 2019-02-07 21:22:38 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible 2019-02-07 21:27:23 +00:00
openmp [OMPT] Make sure that OMPT is enabled when accessing internals of the runtime 2019-02-04 15:59:42 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
pstl Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
README.md

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.