[llvm] [CodeGen][TLI] Allow targets to custom expand atomic load/stores (PR #154708)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 22 02:33:30 PDT 2025
================
@@ -262,7 +262,9 @@ class LLVM_ABI TargetLoweringBase {
LLOnly, // Expand the (load) instruction into just a load-linked, which has
// greater atomic guarantees than a normal load.
CmpXChg, // Expand the instruction into cmpxchg; used by at least X86.
- MaskedIntrinsic, // Use a target-specific intrinsic for the LL/SC loop.
+ MaskedIntrinsic, // Use a target-specific intrinsic for the LL/SC loop.
+ XChg, // Expand a store too large to be atomic into a xchg, then re-process
----------------
arsenm wrote:
You can pre-rename it, or just directly do it here. The other cases are different because there are multiple "default" expansions available to choose from. This case only has one.
https://github.com/llvm/llvm-project/pull/154708
More information about the llvm-commits
mailing list