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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits