llvm-project/llvm/lib
Christof Douma c1c28051d2 [AARCH64][LSE] Preliminary support for ARMv8.1 LSE Atomics.
Implemented support to AArch64 codegen for ARMv8.1 Large System
Extensions atomic instructions. Where supported, these instructions can
provide atomic operations with higher performance.

Currently supported operations include: fetch_add, fetch_or, fetch_xor,
fetch_smin, fetch_min/max (signed and unsigned), swap, and
compare_exchange.

This implementation implies sequential-consistency ordering, more
relaxed ordering is under development.

Subtarget->hasLSE is currently supported for Cavium ThunderX2T99.

Patch by Ananth Jasty.

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

Change-Id: I82f6d3d64255622791ceb0715b7ab9f4dc4d4b2c
llvm-svn: 305893
2017-06-21 10:58:31 +00:00
..
Analysis [SCEV] Make MulOpsInlineThreshold lower to avoid excessive compilation time 2017-06-21 07:28:13 +00:00
AsmParser Add dependency from AsmParser to BinaryFormat. 2017-06-07 04:24:33 +00:00
BinaryFormat Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
Bitcode Fix build warning on 32-bit targets where sizeof(size_t) < sizeof(long long). 2017-06-16 00:32:11 +00:00
CodeGen Use range-loop in machine-scheduler. NFCI. 2017-06-21 09:10:10 +00:00
DebugInfo [PDB] Don't write uninitialized bytes to a PDB file. 2017-06-20 18:50:55 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [ExecutionEngine] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-19 23:37:52 +00:00
Fuzzer [libFuzzer] change the default max_len from 64 to 4096. This will affect cases where libFuzzer is run w/o initial corpus or with a corpus of very small items. 2017-06-15 22:43:40 +00:00
IR [Statepoint] Add helper functions for GCRelocate and GCResult 2017-06-20 20:54:57 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO Silence warning with assertions disabled. 2017-06-15 17:41:32 +00:00
LineEditor
Linker Support for taking the max of module flags when linking, use for PIE/PIC 2017-05-23 00:08:00 +00:00
MC WasmObjectWriter.cpp: Tweak a comment line. [-Wdocumentation] 2017-06-20 07:21:19 +00:00
Object [WebAssembly] Fix build failures introduced in r305769 2017-06-20 04:47:58 +00:00
ObjectYAML [codeview] YAMLize all section offsets and indices in symbol records 2017-06-20 21:19:22 +00:00
Option [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Passes [EarlyCSE] Add option to use MemorySSA for function simplification run of EarlyCSE (off by default). 2017-06-10 15:20:03 +00:00
ProfileData [Coverage] PR33517: Check for failure to load func records 2017-06-20 02:05:35 +00:00
Support [Support] Add RetryAfterSignal helper function 2017-06-21 10:55:34 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target [AARCH64][LSE] Preliminary support for ARMv8.1 LSE Atomics. 2017-06-21 10:58:31 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Transforms [NewGVN] Fix a bug that made the store verifier less effective. 2017-06-20 22:57:40 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00
LLVMBuild.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00