[Mlir-commits] [mlir] [mlir][SPIR-V] Fix CopyMemory handling of a lone memory operands mask (PR #226969)

Arseniy Obolenskiy llvmlistbot at llvm.org
Wed Sep 30 09:56:24 PDT 2026


================
@@ -208,10 +208,16 @@ static LogicalResult verifyMemoryAccessAttribute(MemoryOpTy memoryOp) {
 
   // MakePointerVisible applies to reads through the pointer, so it is invalid
   // for Store and for the Target operand of CopyMemory, both of which only
-  // write through it.
+  // write through it. A CopyMemory mask is Target-only when a Source mask
+  // follows it, otherwise it applies to both operands.
   if constexpr (std::is_same_v<MemoryOpTy, StoreOp> ||
                 std::is_same_v<MemoryOpTy, CopyMemoryOp>) {
-    if (spirv::bitEnumContainsAll(memAccess.getValue(),
+    bool writeOnly = true;
----------------
aobolensk wrote:

Sure, done

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


More information about the Mlir-commits mailing list