[Openmp-commits] [openmp] [OpenMP] Remove special handling for SPIR-V uinc atomic (PR #180747)

Joseph Huber via Openmp-commits openmp-commits at lists.llvm.org
Tue Feb 10 06:40:45 PST 2026


https://github.com/jhuber6 created https://github.com/llvm/llvm-project/pull/180747

Summary:
No longer necessary after https://github.com/llvm/llvm-project/pull/179114


>From bfa4f17d1003dd8236ba6a30dc322455f8591083 Mon Sep 17 00:00:00 2001
From: Joseph Huber <huberjn at outlook.com>
Date: Tue, 10 Feb 2026 08:39:00 -0600
Subject: [PATCH] [OpenMP] Remove special handling for SPIR-V uinc atomic

Summary:
No longer necessary after https://github.com/llvm/llvm-project/pull/179114
---
 openmp/device/include/Synchronization.h | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/openmp/device/include/Synchronization.h b/openmp/device/include/Synchronization.h
index acf42274a0664..f164a55e46a12 100644
--- a/openmp/device/include/Synchronization.h
+++ b/openmp/device/include/Synchronization.h
@@ -42,20 +42,7 @@ enum MemScopeTy {
 template <typename Ty, typename V = utils::remove_addrspace_t<Ty>>
 V inc(Ty *Address, V Val, atomic::OrderingTy Ordering,
       MemScopeTy MemScope = MemScopeTy::device) {
-#if defined(__SPIRV__)
-  uint32_t Old;
-  while (true) {
-    Old = load(Address, Ordering, MemScope);
-    if (Old >= Val) {
-      if (cas(Address, Old, 0u, Ordering, Ordering, MemScope))
-        break;
-    } else if (cas(Address, Old, Old + 1, Ordering, Ordering, MemScope))
-      break;
-  }
-  return Old;
-#else
   return __scoped_atomic_fetch_uinc(Address, Val, Ordering, MemScope);
-#endif
 }
 
 template <typename Ty, typename V = utils::remove_addrspace_t<Ty>>



More information about the Openmp-commits mailing list