Lines Matching refs:atomic
6 ; Sanity tests for atomic stores.
8 ; atomic ops, just some transformations are not allowed across release-acquire pairs.
21 store atomic i32 0, i32* @y unordered, align 4
29 ; CHECK-NOT: store atomic
31 store atomic i32 0, i32* @x unordered, align 4
36 ; DSE unordered store overwriting non-atomic store (allowed)
39 ; CHECK: store atomic i32 1
41 store atomic i32 1, i32* @x unordered, align 4
45 ; DSE no-op unordered atomic store (allowed)
50 %x = load atomic i32, i32* @x unordered, align 4
51 store atomic i32 %x, i32* @x unordered, align 4
56 ; to reason about atomic operations).
59 ; CHECK: store atomic
61 store atomic i32 0, i32* %a seq_cst, align 4
66 ; to reason about atomic operations).
70 ; CHECK: load atomic
74 %x = load atomic i32, i32* @x seq_cst, align 4
84 %x = load atomic i32, i32* @y monotonic, align 4
95 store atomic i32 42, i32* @y monotonic, align 4
100 ; DSE across monotonic load (forbidden since the eliminated store is atomic)
103 ; CHECK: store atomic i32 0
104 ; CHECK: store atomic i32 1
105 store atomic i32 0, i32* @x monotonic, align 4
106 %x = load atomic i32, i32* @y monotonic, align 4
107 store atomic i32 1, i32* @x monotonic, align 4
111 ; DSE across monotonic store (forbidden since the eliminated store is atomic)
114 ; CHECK: store atomic i32 0
115 ; CHECK: store atomic i32 1
116 store atomic i32 0, i32* @x monotonic, align 4
117 store atomic i32 42, i32* @y monotonic, align 4
118 store atomic i32 1, i32* @x monotonic, align 4
128 store atomic i32 0, i32* @y release, align 4
129 %x = load atomic i32, i32* @y acquire, align 4