[llvm] [AMDGPU] Enable volatile and non-temporal for loads to LDS (PR #153244)

Pierre van Houtryve via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 20 06:54:31 PDT 2025


================
@@ -263,6 +264,12 @@ class SIMemOpAccess final {
   /// rmw operation, "std::nullopt" otherwise.
   std::optional<SIMemOpInfo>
   getAtomicCmpxchgOrRmwInfo(const MachineBasicBlock::iterator &MI) const;
+
+  /// \returns DMA to LDS info if \p MI is as a direct-to/from-LDS load/store,
+  /// along with an indication of whether this is a load or store. If it is not
+  /// a direct-to-LDS operation, returns std::nullopt.
----------------
Pierre-vh wrote:

Use a separate helper to return the `SIMemOp` and call that in the `expandLdsLoadStore` function instead. This simplifies the flow, you don't need that information until you reach the `expand` stage anyway.

https://github.com/llvm/llvm-project/pull/153244


More information about the llvm-commits mailing list