Home
last modified time | relevance | path

Searched refs:MemoryOrder (Results 1 – 10 of 10) sorted by relevance

/freebsd/contrib/llvm-project/libc/src/__support/CPP/
H A Datomic.h22 enum class MemoryOrder : int { enum
45 LIBC_INLINE constexpr int order(MemoryOrder mem_ord) { in order()
57 LIBC_INLINE constexpr int infer_failure_order(MemoryOrder mem_ord) { in infer_failure_order()
58 if (mem_ord == MemoryOrder::RELEASE) in infer_failure_order()
59 return order(MemoryOrder::RELAXED); in infer_failure_order()
60 if (mem_ord == MemoryOrder::ACQ_REL) in infer_failure_order()
61 return order(MemoryOrder::ACQUIRE); in infer_failure_order()
111 load(MemoryOrder mem_ord = MemoryOrder::SEQ_CST,
131 store(T rhs, MemoryOrder mem_ord = MemoryOrder::SEQ_CST,
144 T &expected, T desired, MemoryOrder mem_ord = MemoryOrder::SEQ_CST,
[all …]
/freebsd/contrib/llvm-project/libc/src/__support/threads/linux/
H A Drwlock.h214 cpp::MemoryOrder order) { in fetch_sub_reader_count()
219 cpp::MemoryOrder order) { in load()
225 cpp::MemoryOrder order) { in fetch_set_pending_bit()
233 cpp::MemoryOrder order) { in fetch_clear_pending_bit()
241 cpp::MemoryOrder order) { in fetch_clear_active_writer()
247 cpp::MemoryOrder success_order, in compare_exchange_weak_with()
248 cpp::MemoryOrder failure_order) { in compare_exchange_weak_with()
259 auto state = RwState::load(target, cpp::MemoryOrder::RELAXED); in spin_reload_until()
348 state, *next, cpp::MemoryOrder::ACQUIRE, in try_lock()
349 cpp::MemoryOrder::RELAXED))) in try_lock()
[all …]
H A Draw_mutex.h50 result = futex.load(cpp::MemoryOrder::RELAXED); in spin()
71 futex.compare_exchange_strong(state, LOCKED, cpp::MemoryOrder::ACQUIRE, in lock_slow()
72 cpp::MemoryOrder::RELAXED)) in lock_slow()
83 futex.exchange(IN_CONTENTION, cpp::MemoryOrder::ACQUIRE) == UNLOCKED) in lock_slow()
102 expected, LOCKED, cpp::MemoryOrder::ACQUIRE, cpp::MemoryOrder::RELAXED); in try_lock()
114 FutexWordType prev = futex.exchange(UNLOCKED, cpp::MemoryOrder::RELEASE);
H A Dcallonce.h27 return flag->load(cpp::MemoryOrder::RELAXED) == FINISH; in callonce_fastpath()
H A Dfutex_utils.h42 if (this->load(cpp::MemoryOrder::RELAXED) != expected)
/freebsd/contrib/llvm-project/libc/src/__support/threads/
H A Dspin_lock.h24 return !flag.exchange(1u, cpp::MemoryOrder::ACQUIRE); in try_lock()
51 while (flag.load(cpp::MemoryOrder::RELAXED)) in lock()
54 LIBC_INLINE void unlock() { flag.store(0u, cpp::MemoryOrder::RELEASE); } in unlock()
55 LIBC_INLINE bool is_locked() { return flag.load(cpp::MemoryOrder::ACQUIRE); } in is_locked()
57 return flag.load(cpp::MemoryOrder::ACQUIRE) > 1; in is_invalid()
60 LIBC_INLINE ~SpinLock() { flag.store(0xffu, cpp::MemoryOrder::RELEASE); } in ~SpinLock()
/freebsd/contrib/llvm-project/libc/src/__support/GPU/
H A Dallocator.cpp275 .fetch_or(bitmask, cpp::MemoryOrder::RELAXED); in allocate()
283 cpp::atomic_thread_fence(cpp::MemoryOrder::ACQUIRE); in allocate()
294 cpp::atomic_thread_fence(cpp::MemoryOrder::RELEASE); in deallocate()
296 .fetch_and(~(1u << bit), cpp::MemoryOrder::RELAXED); in deallocate()
319 counter.store(n, cpp::MemoryOrder::RELAXED); in reset()
325 count = counter.fetch_add(n, cpp::MemoryOrder::RELAXED) + n; in acquire()
336 if (counter.fetch_sub(n, cpp::MemoryOrder::RELAXED) == n) { in release()
339 cpp::MemoryOrder::RELAXED, in release()
340 cpp::MemoryOrder::RELAXED)) in release()
343 (counter.exchange(INVALID, cpp::MemoryOrder::RELAXED) & in release()
[all …]
/freebsd/contrib/llvm-project/libc/src/__support/time/windows/
H A Dperformance_counter.h23 auto freq = frequency.load(cpp::MemoryOrder::RELAXED); in get_ticks_per_second()
29 frequency.store(buffer.QuadPart, cpp::MemoryOrder::RELAXED); in get_ticks_per_second()
/freebsd/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/
H A DClauseT.h239 ENUM(MemoryOrder, AcqRel, Acquire, Relaxed, Release, SeqCst);
422 using MemoryOrder = type::MemoryOrder;
424 MemoryOrder v; // Name not provided in spec
596 using MemoryOrder = type::MemoryOrder;
598 MemoryOrder v;
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DOpenCLBuiltins.td428 def MemoryOrder : EnumType<"memory_order">;
1101 // Without explicit MemoryOrder or MemoryScope.
1106 // With an explicit MemoryOrder argument.
1108 def : Builtin<Name # "_explicit", !listconcat(Types, [MemoryOrder])>;
1111 // With explicit MemoryOrder and MemoryScope arguments.
1113 def : Builtin<Name # "_explicit", !listconcat(Types, [MemoryOrder, MemoryScope])>;
1145 PointerType<TypePair[1], exp_ptr_addrspace>, TypePair[1], MemoryOrder, MemoryOrder]>;
1150 … PointerType<TypePair[1], exp_ptr_addrspace>, TypePair[1], MemoryOrder, MemoryOrder, MemoryScope]>;
1180 def : Builtin<"atomic_work_item_fence", [Void, MemFenceFlags, MemoryOrder, MemoryScope]>;