[llvm] [llvm][opt][Transforms] Preserve AMDGPU atomic metadata (PR #140314)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 2 09:29:19 PDT 2025


================
@@ -3311,7 +3318,10 @@ static void combineMetadata(Instruction *K, const Instruction *J,
     // TODO: Assert that this switch is exhaustive for fixed MD kinds.
     switch (Kind) {
       default:
-        K->setMetadata(Kind, nullptr); // Remove unknown metadata
+        if (K->isAtomic() && IsAMDGPUMD(Kind))
+          K->setMetadata(Kind, MDNode::intersect(JMD, KMD));
----------------
nikic wrote:

It looks like all of this metadata accepts an empty node? Using intersect for this doesn't really make sense.

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


More information about the llvm-commits mailing list