H A D | tsan_interface_atomic.cpp | 36 static bool IsLoadOrder(morder mo) { in IsLoadOrder() argument 37 return mo == mo_relaxed || mo == mo_consume in IsLoadOrder() 38 || mo == mo_acquire || mo == mo_seq_cst; in IsLoadOrder() 41 static bool IsStoreOrder(morder mo) { in IsStoreOrder() argument 42 return mo == mo_relaxed || mo == mo_release || mo == mo_seq_cst; in IsStoreOrder() 46 static bool IsReleaseOrder(morder mo) { in IsReleaseOrder() argument 50 IsAcquireOrder(morder mo) IsAcquireOrder() argument 55 IsAcqRelOrder(morder mo) IsAcqRelOrder() argument 198 to_mo(morder mo) to_mo() argument 212 NoTsanAtomicLoad(const volatile T * a,morder mo) NoTsanAtomicLoad() argument 217 NoTsanAtomicLoad(const volatile a128 * a,morder mo) NoTsanAtomicLoad() argument 224 AtomicLoad(ThreadState * thr,uptr pc,const volatile T * a,morder mo) AtomicLoad() argument 250 NoTsanAtomicStore(volatile T * a,T v,morder mo) NoTsanAtomicStore() argument 255 NoTsanAtomicStore(volatile a128 * a,a128 v,morder mo) NoTsanAtomicStore() argument 263 AtomicStore(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicStore() argument 285 AtomicRMW(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicRMW() argument 307 NoTsanAtomicExchange(volatile T * a,T v,morder mo) NoTsanAtomicExchange() argument 312 NoTsanAtomicFetchAdd(volatile T * a,T v,morder mo) NoTsanAtomicFetchAdd() argument 317 NoTsanAtomicFetchSub(volatile T * a,T v,morder mo) NoTsanAtomicFetchSub() argument 322 NoTsanAtomicFetchAnd(volatile T * a,T v,morder mo) NoTsanAtomicFetchAnd() argument 327 NoTsanAtomicFetchOr(volatile T * a,T v,morder mo) NoTsanAtomicFetchOr() argument 332 NoTsanAtomicFetchXor(volatile T * a,T v,morder mo) NoTsanAtomicFetchXor() argument 337 NoTsanAtomicFetchNand(volatile T * a,T v,morder mo) NoTsanAtomicFetchNand() argument 343 AtomicExchange(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicExchange() argument 349 AtomicFetchAdd(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchAdd() argument 355 AtomicFetchSub(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchSub() argument 361 AtomicFetchAnd(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchAnd() argument 367 AtomicFetchOr(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchOr() argument 373 AtomicFetchXor(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchXor() argument 379 AtomicFetchNand(ThreadState * thr,uptr pc,volatile T * a,T v,morder mo) AtomicFetchNand() argument 384 NoTsanAtomicCAS(volatile T * a,T * c,T v,morder mo,morder fmo) NoTsanAtomicCAS() argument 390 NoTsanAtomicCAS(volatile a128 * a,a128 * c,a128 v,morder mo,morder fmo) NoTsanAtomicCAS() argument 401 NoTsanAtomicCAS(volatile T * a,T c,T v,morder mo,morder fmo) NoTsanAtomicCAS() argument 408 AtomicCAS(ThreadState * thr,uptr pc,volatile T * a,T * c,T v,morder mo,morder fmo) AtomicCAS() argument 450 AtomicCAS(ThreadState * thr,uptr pc,volatile T * a,T c,T v,morder mo,morder fmo) AtomicCAS() argument 456 NoTsanAtomicFence(morder mo) NoTsanAtomicFence() argument 460 AtomicFence(ThreadState * thr,uptr pc,morder mo) AtomicFence() argument 471 convert_morder(morder mo) convert_morder() argument 498 __tsan_atomic8_load(const volatile a8 * a,morder mo) __tsan_atomic8_load() argument 503 __tsan_atomic16_load(const volatile a16 * a,morder mo) __tsan_atomic16_load() argument 508 __tsan_atomic32_load(const volatile a32 * a,morder mo) __tsan_atomic32_load() argument 513 __tsan_atomic64_load(const volatile a64 * a,morder mo) __tsan_atomic64_load() argument 519 __tsan_atomic128_load(const volatile a128 * a,morder mo) __tsan_atomic128_load() argument 525 __tsan_atomic8_store(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_store() argument 530 __tsan_atomic16_store(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_store() argument 535 __tsan_atomic32_store(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_store() argument 540 __tsan_atomic64_store(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_store() argument 546 __tsan_atomic128_store(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_store() argument 552 __tsan_atomic8_exchange(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_exchange() argument 557 __tsan_atomic16_exchange(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_exchange() argument 562 __tsan_atomic32_exchange(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_exchange() argument 567 __tsan_atomic64_exchange(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_exchange() argument 573 __tsan_atomic128_exchange(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_exchange() argument 579 __tsan_atomic8_fetch_add(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_add() argument 584 __tsan_atomic16_fetch_add(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_add() argument 589 __tsan_atomic32_fetch_add(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_add() argument 594 __tsan_atomic64_fetch_add(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_add() argument 600 __tsan_atomic128_fetch_add(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_add() argument 606 __tsan_atomic8_fetch_sub(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_sub() argument 611 __tsan_atomic16_fetch_sub(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_sub() argument 616 __tsan_atomic32_fetch_sub(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_sub() argument 621 __tsan_atomic64_fetch_sub(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_sub() argument 627 __tsan_atomic128_fetch_sub(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_sub() argument 633 __tsan_atomic8_fetch_and(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_and() argument 638 __tsan_atomic16_fetch_and(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_and() argument 643 __tsan_atomic32_fetch_and(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_and() argument 648 __tsan_atomic64_fetch_and(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_and() argument 654 __tsan_atomic128_fetch_and(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_and() argument 660 __tsan_atomic8_fetch_or(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_or() argument 665 __tsan_atomic16_fetch_or(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_or() argument 670 __tsan_atomic32_fetch_or(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_or() argument 675 __tsan_atomic64_fetch_or(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_or() argument 681 __tsan_atomic128_fetch_or(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_or() argument 687 __tsan_atomic8_fetch_xor(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_xor() argument 692 __tsan_atomic16_fetch_xor(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_xor() argument 697 __tsan_atomic32_fetch_xor(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_xor() argument 702 __tsan_atomic64_fetch_xor(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_xor() argument 708 __tsan_atomic128_fetch_xor(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_xor() argument 714 __tsan_atomic8_fetch_nand(volatile a8 * a,a8 v,morder mo) __tsan_atomic8_fetch_nand() argument 719 __tsan_atomic16_fetch_nand(volatile a16 * a,a16 v,morder mo) __tsan_atomic16_fetch_nand() argument 724 __tsan_atomic32_fetch_nand(volatile a32 * a,a32 v,morder mo) __tsan_atomic32_fetch_nand() argument 729 __tsan_atomic64_fetch_nand(volatile a64 * a,a64 v,morder mo) __tsan_atomic64_fetch_nand() argument 735 __tsan_atomic128_fetch_nand(volatile a128 * a,a128 v,morder mo) __tsan_atomic128_fetch_nand() argument 742 __tsan_atomic8_compare_exchange_strong(volatile a8 * a,a8 * c,a8 v,morder mo,morder fmo) __tsan_atomic8_compare_exchange_strong() argument 748 __tsan_atomic16_compare_exchange_strong(volatile a16 * a,a16 * c,a16 v,morder mo,morder fmo) __tsan_atomic16_compare_exchange_strong() argument 754 __tsan_atomic32_compare_exchange_strong(volatile a32 * a,a32 * c,a32 v,morder mo,morder fmo) __tsan_atomic32_compare_exchange_strong() argument 760 __tsan_atomic64_compare_exchange_strong(volatile a64 * a,a64 * c,a64 v,morder mo,morder fmo) __tsan_atomic64_compare_exchange_strong() argument 767 __tsan_atomic128_compare_exchange_strong(volatile a128 * a,a128 * c,a128 v,morder mo,morder fmo) __tsan_atomic128_compare_exchange_strong() argument 774 __tsan_atomic8_compare_exchange_weak(volatile a8 * a,a8 * c,a8 v,morder mo,morder fmo) __tsan_atomic8_compare_exchange_weak() argument 780 __tsan_atomic16_compare_exchange_weak(volatile a16 * a,a16 * c,a16 v,morder mo,morder fmo) __tsan_atomic16_compare_exchange_weak() argument 786 __tsan_atomic32_compare_exchange_weak(volatile a32 * a,a32 * c,a32 v,morder mo,morder fmo) __tsan_atomic32_compare_exchange_weak() argument 792 __tsan_atomic64_compare_exchange_weak(volatile a64 * a,a64 * c,a64 v,morder mo,morder fmo) __tsan_atomic64_compare_exchange_weak() argument 799 __tsan_atomic128_compare_exchange_weak(volatile a128 * a,a128 * c,a128 v,morder mo,morder fmo) __tsan_atomic128_compare_exchange_weak() argument 806 __tsan_atomic8_compare_exchange_val(volatile a8 * a,a8 c,a8 v,morder mo,morder fmo) __tsan_atomic8_compare_exchange_val() argument 812 __tsan_atomic16_compare_exchange_val(volatile a16 * a,a16 c,a16 v,morder mo,morder fmo) __tsan_atomic16_compare_exchange_val() argument 818 __tsan_atomic32_compare_exchange_val(volatile a32 * a,a32 c,a32 v,morder mo,morder fmo) __tsan_atomic32_compare_exchange_val() argument 824 __tsan_atomic64_compare_exchange_val(volatile a64 * a,a64 c,a64 v,morder mo,morder fmo) __tsan_atomic64_compare_exchange_val() argument 831 __tsan_atomic128_compare_exchange_val(volatile a128 * a,a128 c,a128 v,morder mo,morder fmo) __tsan_atomic128_compare_exchange_val() argument 837 __tsan_atomic_thread_fence(morder mo) __tsan_atomic_thread_fence() argument 840 __tsan_atomic_signal_fence(morder mo) __tsan_atomic_signal_fence() argument [all...] |