Go to file
Philip Reames 485474208e Canonicalize all integer "idempotent" atomicrmw ops
For "idempotent" atomicrmw instructions which we can't simply turn into load, canonicalize the operation and constant. This reduces the matching needed elsewhere in the optimizer, but doesn't directly impact codegen.

For any architecture where OR/Zero is not a good default choice, you can extend the AtomicExpand lowerIdempotentRMWIntoFencedLoad mechanism. I reviewed X86 to make sure this works well, haven't audited other backends.

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

llvm-svn: 354058
2019-02-14 20:41:17 +00:00
clang [CodeGenObjC] Emit [[X alloc] init] as objc_alloc_init(X) when available 2019-02-14 19:58:37 +00:00
clang-tools-extra [clangd] Handle a few more diag kinds in include fixer. 2019-02-13 08:58:54 +00:00
compiler-rt Revert "Temporarily disable calls to getgrnam/getgrnam_r in test due to it hitting unrelated issues in EGLIBC 2.19." 2019-02-14 10:39:11 +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 [libcxx] Do not assume the number of elements in a moved-from associative container 2019-02-13 16:43:44 +00:00
libcxxabi [CMake] Avoid passing -rtlib=compiler-rt when using compiler-rt 2019-02-12 01:35:29 +00:00
libunwind [CMake] Don't cache LLVM_MAIN_SRC_DIR 2019-02-13 07:09:26 +00:00
lld Move a function from .h to .cpp and use a shorter name. NFC. 2019-02-14 19:33:26 +00:00
lldb [lldb] [MainLoop] Remove redundant termination clause (NFCI) 2019-02-14 18:51:21 +00:00
llgo Adjust documentation for git migration. 2019-01-29 16:37:27 +00:00
llvm Canonicalize all integer "idempotent" atomicrmw ops 2019-02-14 20:41:17 +00:00
openmp [OpenMP] Fix broken link to browse sources 2019-02-12 17:00:57 +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 [opaque pointer types] Update calls to CreateCall to pass the function 2019-02-08 19:30:46 +00:00
pstl [NFC] Fix typo in PSTL test 2019-02-11 17:45:15 +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.