/external/guava/guava/src/com/google/common/util/concurrent/ |
D | AtomicLongMap.java | 14 import java.util.concurrent.atomic.AtomicLong; 68 AtomicLong atomic = map.get(key); in get() local 69 return atomic == null ? 0L : atomic.get(); in get() 92 AtomicLong atomic = map.get(key); in addAndGet() local 93 if (atomic == null) { in addAndGet() 94 atomic = map.putIfAbsent(key, new AtomicLong(delta)); in addAndGet() 95 if (atomic == null) { in addAndGet() 102 long oldValue = atomic.get(); in addAndGet() 105 if (map.replace(key, atomic, new AtomicLong(delta))) { in addAndGet() 113 if (atomic.compareAndSet(oldValue, newValue)) { in addAndGet() [all …]
|
D | Atomics.java | 21 import java.util.concurrent.atomic.AtomicReference; 22 import java.util.concurrent.atomic.AtomicReferenceArray;
|
/external/llvm/test/Transforms/DeadStoreElimination/ |
D | atomic.ll | 6 ; Sanity tests for atomic stores. 8 ; atomic ops, just some transformations are not allowed across them. 22 store atomic i32 0, i32* @y unordered, align 4 34 %x = load atomic i32* @y seq_cst, align 4 39 ; DSE across seq_cst store (store before atomic store must not be removed) 43 ; CHECK: store atomic i32 2 46 store atomic i32 2, i32* @y seq_cst, align 4 54 ; CHECK-NOT: store atomic 57 store atomic i32 0, i32* @x unordered, align 4 62 ; DSE unordered store overwriting non-atomic store (allowed) [all …]
|
/external/llvm/test/Instrumentation/ThreadSanitizer/ |
D | atomic.ll | 2 ; Check that atomic memory operations are converted to calls into ThreadSanitizer runtime. 7 %0 = load atomic i8* %a unordered, align 1 15 %0 = load atomic i8* %a monotonic, align 1 23 %0 = load atomic i8* %a acquire, align 1 31 %0 = load atomic i8* %a seq_cst, align 1 39 store atomic i8 0, i8* %a unordered, align 1 47 store atomic i8 0, i8* %a monotonic, align 1 55 store atomic i8 0, i8* %a release, align 1 63 store atomic i8 0, i8* %a seq_cst, align 1 71 %0 = load atomic i16* %a unordered, align 2 [all …]
|
/external/llvm/test/Assembler/ |
D | atomic.ll | 2 ; Basic smoke test for atomic operations. 5 ; CHECK: load atomic i32* %x unordered, align 4 6 load atomic i32* %x unordered, align 4 7 ; CHECK: load atomic volatile i32* %x singlethread acquire, align 4 8 load atomic volatile i32* %x singlethread acquire, align 4 9 ; CHECK: store atomic i32 3, i32* %x release, align 4 10 store atomic i32 3, i32* %x release, align 4 11 ; CHECK: store atomic volatile i32 3, i32* %x singlethread monotonic, align 4 12 store atomic volatile i32 3, i32* %x singlethread monotonic, align 4
|
/external/llvm/test/Transforms/LICM/ |
D | atomics.ll | 10 %val = load atomic i32* %y unordered, align 4 18 ; CHECK: load atomic 30 %val = load atomic i32* %y monotonic, align 4 37 ; CHECK: load atomic 50 %vala = load atomic i32* %y monotonic, align 4 51 %valb = load atomic i32* %x unordered, align 4 58 ; CHECK: load atomic i32* %x unordered 69 %vala = load atomic i32* %y monotonic, align 4 70 store atomic i32 %vala, i32* %x unordered, align 4 77 ; CHECK: load atomic i32* %y monotonic [all …]
|
/external/clang/test/SemaObjC/ |
D | conflict-atomic-property.m | 5 @property (nonatomic, assign, atomic) float dummy; // expected-error {{property attributes 'atomic'… 7 @property (atomic, assign) float d2; 9 @property (atomic, nonatomic, assign) float d4; // expected-error {{property attributes 'atomic' an…
|
D | custom-atomic-property.m | 1 // RUN: %clang_cc1 -fsyntax-only -Wcustom-atomic-properties -verify -Wno-objc-root-class %s 8 …n 0;} // expected-warning {{atomic by default property 'myProp' has a user defined getter (propert… 9 …)e {} // expected-warning {{atomic by default property 'myProp' has a user defined setter (propert…
|
D | warn-implicit-atomic-property.m | 1 // RUN: %clang_cc1 -fsyntax-only -Wimplicit-atomic-properties -fobjc-default-synthesize-properties … 6 @property (atomic, readwrite) int P1; // OK 11 @implementation Super // expected-warning {{property is assumed atomic when auto-synthesizing the p… 12 @synthesize P,P1,P2; // expected-warning {{property is assumed atomic by default}}
|
/external/llvm/test/Transforms/GVN/ |
D | atomic.ll | 15 store atomic i32 %x, i32* @x unordered, align 4 27 store atomic i32 %x, i32* @x seq_cst, align 4 39 %y = load atomic i32* @x unordered, align 4 46 ; GVN across acquire load (load after atomic load must not be removed) 49 ; CHECK: load atomic i32* @x 53 %y = load atomic i32* @x seq_cst, align 4 65 %x = load atomic i32* @x unordered, align 4 74 ; CHECK: load atomic i32* @x unordered 77 %x2 = load atomic i32* @x unordered, align 4
|
/external/llvm/test/Transforms/SCCP/ |
D | atomic-load-store.ll | 3 ; This transformation is safe for atomic loads and stores; check that it works. 9 %V = load atomic i32* @G seq_cst, align 4 13 store atomic i32 17, i32* @G seq_cst, align 4 16 store atomic i32 123, i32* @G seq_cst, align 4 24 %V = load atomic i32* @C seq_cst, align 4
|
/external/llvm/test/Transforms/InstCombine/ |
D | atomic.ll | 6 ; Check transforms involving atomic operations 10 ; CHECK: load atomic i8** %p monotonic, align 8 12 %r = load atomic i32** %c monotonic, align 8 18 ; CHECK: %x = load atomic i32* %p seq_cst, align 4 20 %x = load atomic i32* %p seq_cst, align 4
|
/external/llvm/test/Transforms/Mem2Reg/ |
D | atomic.ll | 3 ; mem2reg is allowed with arbitrary atomic operations (although we only support 4 ; it for atomic load and store at the moment). 9 store atomic i32 %x, i32* %a seq_cst, align 4 10 %r = load atomic i32* %a seq_cst, align 4
|
/external/llvm/test/CodeGen/ARM/ |
D | atomic-load-store.ll | 17 store atomic i32 %val1, i32* %ptr seq_cst, align 4 30 %val = load atomic i32* %ptr seq_cst, align 4 44 %val = load atomic i8* %ptr1 unordered, align 1 45 store atomic i8 %val, i8* %ptr2 unordered, align 1 53 %val = load atomic i8* %ptr1 seq_cst, align 1 54 store atomic i8 %val, i8* %ptr2 seq_cst, align 1
|
/external/llvm/test/Transforms/MemCpyOpt/ |
D | atomic.ll | 12 ; memcpyopt should not touch atomic ops 15 ; CHECK: store atomic 20 store atomic i32 0, i32* %gep1 unordered, align 4 30 ; CHECK-NEXT: store atomic 35 store atomic i32 0, i32* @x unordered, align 4
|
/external/llvm/docs/ |
D | Atomics.rst | 20 The atomic instructions are designed specifically to provide readable IR and 23 * The new C++0x ``<atomic>`` header. (`C++0x draft available here 34 * Other scenarios with atomic semantics, including ``static`` variables with 42 pair of volatile stores. On the other hand, a non-volatile non-atomic load can 51 .. _Optimization outside atomic: 53 Optimization outside atomic 63 instructions with atomic ordering involved, concurrency does not matter, with 106 various atomic instructions. The exact guarantees provided depend on the 109 ``load atomic`` and ``store atomic`` provide the same basic functionality as 110 non-atomic loads and stores, but provide additional guarantees in situations [all …]
|
/external/llvm/test/CodeGen/X86/ |
D | atomic-load-store.ll | 7 store atomic i32 %val1, i32* %ptr seq_cst, align 4 14 store atomic i32 %val1, i32* %ptr release, align 4 21 %val = load atomic i32* %ptr seq_cst, align 4
|
D | cmpxchg16b.ll | 13 ; FIXME: Handle 128-bit atomicrmw/load atomic/store atomic
|
D | atomic-pointer.ll | 9 %0 = load atomic i32** %a0 seq_cst, align 4 20 store atomic i32* %a0, i32** %a1 seq_cst, align 4
|
D | atomic-load-store-wide.ll | 10 store atomic i64 %val1, i64* %ptr seq_cst, align 8 17 %val = load atomic i64* %ptr seq_cst, align 8
|
/external/llvm/test/Transforms/FunctionAttrs/ |
D | atomic.ll | 9 store atomic i32 %x, i32* %x.addr seq_cst, align 4 10 %r = load atomic i32* %x.addr seq_cst, align 4 18 %r = load atomic i32* %x seq_cst, align 4
|
/external/llvm/cmake/modules/ |
D | CheckAtomic.cmake | 1 # atomic builtins are required for threading support. 28 message(STATUS "Warning: LLVM will be built thread-unsafe because atomic builtins are missing")
|
/external/clang/test/SemaCXX/ |
D | atomic-type.cxx | 3 template<typename T> struct atomic { struct 9 atomic<inner> i;
|
/external/llvm/lib/Support/ |
D | Atomic.cpp | 72 # error No atomic increment implementation for your platform! in AtomicIncrement() 87 # error No atomic decrement implementation for your platform! in AtomicDecrement() 102 # error No atomic add implementation for your platform! in AtomicAdd()
|
/external/clang/test/FixIt/ |
D | atomic-property.m | 5 @property (atomic) id atomic_prop; 11 @property (copy, atomic, readwrite) id atomic_prop1;
|