Lines Matching refs:store
15 ; DSE across unordered store (allowed)
18 ; CHECK-NOT: store i32 0
19 ; CHECK: store i32 1
20 store i32 0, i32* @x
21 store atomic i32 0, i32* @y unordered, align 4
22 store i32 1, i32* @x
26 ; DSE remove unordered store (allowed)
29 ; CHECK-NOT: store atomic
30 ; CHECK: store i32 1
31 store atomic i32 0, i32* @x unordered, align 4
32 store i32 1, i32* @x
36 ; DSE unordered store overwriting non-atomic store (allowed)
39 ; CHECK: store atomic i32 1
40 store i32 0, i32* @x
41 store atomic i32 1, i32* @x unordered, align 4
45 ; DSE no-op unordered atomic store (allowed)
48 ; CHECK-NOT: store
51 store atomic i32 %x, i32* @x unordered, align 4
55 ; DSE seq_cst store (be conservative; DSE doesn't have infrastructure
59 ; CHECK: store atomic
61 store atomic i32 0, i32* %a seq_cst, align 4
69 ; CHECK: store
73 store i32 0, i32* %a, align 4
78 ; DSE across monotonic load (allowed as long as the eliminated store isUnordered)
81 ; CHECK-NOT: store i32 0
82 ; CHECK: store i32 1
83 store i32 0, i32* @x
85 store i32 1, i32* @x
89 ; DSE across monotonic store (allowed as long as the eliminated store isUnordered)
92 ; CHECK-NOT: store i32 0
93 ; CHECK: store i32 1
94 store i32 0, i32* @x
95 store atomic i32 42, i32* @y monotonic, align 4
96 store i32 1, i32* @x
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
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
125 ; CHECK: store i32 0
126 ; CHECK: store i32 1
127 store i32 0, i32* @x
128 store atomic i32 0, i32* @y release, align 4
130 store i32 1, i32* @x