[PATCH] D91157: [AArch64] Out-of-line atomics (-moutline-atomics) implementation.
Pavel Iliin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 10 05:56:48 PST 2020
ilinpv created this revision.
ilinpv added reviewers: jyknight, eli.friedman.
Herald added subscribers: llvm-commits, cfe-commits, dexonsmith, dang, danielkiss, jfb, hiraditya, kristof.beyls.
Herald added projects: clang, LLVM.
ilinpv requested review of this revision.
This patch implements out of line atomics for LSE deployment
mechanism. Details how it works can be found in llvm/docs/Atomics.rst
Options -moutline-atomics and -mno-outline-atomics to enable and disable it
were added to clang driver. This is clang and llvm part of out-of-line atomics
interface, library part is already supported by libgcc. Compiler-rt
support is provided in separate patch.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D91157
Files:
clang/include/clang/Basic/DiagnosticDriverKinds.td
clang/include/clang/Driver/Options.td
clang/lib/Driver/ToolChains/Clang.cpp
llvm/docs/Atomics.rst
llvm/include/llvm/CodeGen/RuntimeLibcalls.h
llvm/include/llvm/IR/RuntimeLibcalls.def
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64Subtarget.h
llvm/test/CodeGen/AArch64/arm64-atomic-128.ll
llvm/test/CodeGen/AArch64/arm64-atomic.ll
llvm/test/CodeGen/AArch64/arm64_32-atomics.ll
llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
llvm/test/CodeGen/AArch64/atomic-ops-not-barriers.ll
llvm/test/CodeGen/AArch64/atomic-ops.ll
llvm/test/CodeGen/AArch64/cmpxchg-O0.ll
llvm/test/CodeGen/AArch64/cmpxchg-idioms.ll
llvm/test/CodeGen/AArch64/cmpxchg-lse-even-regs.ll
llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
More information about the llvm-commits
mailing list