[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