Lines Matching refs:P1
113 define i32 @test12(i1 %B, i32* %P1, i32* %P2) {
114 %load0 = load i32, i32* %P1
116 %load1 = load i32, i32* %P1
119 ; CHECK: load i32, i32* %P1
120 ; CHECK: load i32, i32* %P1
125 define i32 @test13(i32* %P1) {
126 %a = load atomic i32, i32* %P1 seq_cst, align 4
127 %b = load i32, i32* %P1
130 ; CHECK: load atomic i32, i32* %P1
135 define i32 @test13b(i32* %P1) {
136 store atomic i32 0, i32* %P1 unordered, align 4
137 %b = load i32, i32* %P1
144 define i32 @test14(i32* %P1) {
145 %a = load atomic i32, i32* %P1 seq_cst, align 4
146 %b = load atomic i32, i32* %P1 unordered, align 4
149 ; CHECK: load atomic i32, i32* %P1 seq_cst
156 define i32 @test15(i32* %P1, i32* %P2) {
157 %a = load atomic i32, i32* %P1 seq_cst, align 4
158 %b = load atomic i32, i32* %P1 seq_cst, align 4
161 ; CHECK: load atomic i32, i32* %P1
162 ; CHECK: load atomic i32, i32* %P1
170 define i32 @test16(i32* %P1, i32* %P2) {
171 %a = load i32, i32* %P1, align 4
172 %b = load atomic i32, i32* %P1 unordered, align 4
175 ; CHECK: load i32, i32* %P1
176 ; CHECK: load atomic i32, i32* %P1
180 define i32 @test16b(i32* %P1) {
181 store i32 0, i32* %P1
182 %b = load atomic i32, i32* %P1 unordered, align 4
184 ; CHECK: load atomic i32, i32* %P1
188 define void @fence_seq_cst_store(i32* %P1, i32* %P2) {
193 store i32 0, i32* %P1, align 4
195 store i32 0, i32* %P1, align 4
200 define void @fence_seq_cst(i32* %P1, i32* %P2) {
205 store i32 0, i32* %P1, align 4
207 store i32 0, i32* %P1, align 4
212 define void @fence_seq_cst_st(i32* %P1, i32* %P2) {
217 store i32 0, i32* %P1, align 4
219 store i32 0, i32* %P1, align 4
224 define void @fence_asm_sideeffect(i32* %P1, i32* %P2) {
229 store i32 0, i32* %P1, align 4
231 store i32 0, i32* %P1, align 4
236 define void @fence_asm_memory(i32* %P1, i32* %P2) {
241 store i32 0, i32* %P1, align 4
243 store i32 0, i32* %P1, align 4
248 define i32 @volatile_load(i32* %P1, i32* %P2) {
249 %a = load i32, i32* %P1, align 4
250 %b = load volatile i32, i32* %P1, align 4
254 ; CHECK: load i32, i32* %P1
255 ; CHECK: load volatile i32, i32* %P1
259 define i32 @redundant_volatile_load(i32* %P1, i32* %P2) {
260 %a = load volatile i32, i32* %P1, align 4
261 %b = load volatile i32, i32* %P1, align 4
265 ; CHECK: load volatile i32, i32* %P1
266 ; CHECK: load volatile i32, i32* %P1
271 define void @volatile_store(i32* %P1, i32* %P2) {
275 store volatile i32 0, i32* %P1, align 4
276 store i32 3, i32* %P1, align 4
281 define void @redundant_volatile_store(i32* %P1, i32* %P2) {
285 store volatile i32 0, i32* %P1, align 4
286 store volatile i32 0, i32* %P1, align 4
291 define i32 @test20(i32* %P1, i32* %P2) {
292 %a = load volatile i32, i32* %P1, align 4
293 %b = load i32, i32* %P1, align 4
297 ; CHECK: load volatile i32, i32* %P1
302 define i64 @widen1(i32* %P1) {
304 ; CHECK: load atomic i32, i32* %P1
306 %p2 = bitcast i32* %P1 to i64*
307 %a = load atomic i32, i32* %P1 unordered, align 4
315 define i64 @narrow(i32* %P1) {
318 ; CHECK-NOT: load atomic i32, i32* %P1
319 %p2 = bitcast i32* %P1 to i64*
321 %b = load atomic i32, i32* %P1 unordered, align 4
328 define i64 @narrow2(i32* %P1) {
331 ; CHECK: load atomic i32, i32* %P1
332 %p2 = bitcast i32* %P1 to i64*
334 %b = load atomic i32, i32* %P1 acquire, align 4
345 define i32 @non_local_fre(i32* %P1) {
347 ; CHECK: load atomic i32, i32* %P1
350 %a = load atomic i32, i32* %P1 unordered, align 4
356 %b = load atomic i32, i32* %P1 unordered, align 4
362 define i32 @non_local_fre2(i32* %P1) {
364 ; CHECK: load atomic i32, i32* %P1
367 %a = load atomic i32, i32* %P1 unordered, align 4
373 %b = load i32, i32* %P1
379 define i32 @non_local_fre3(i32* %P1) {
381 ; CHECK: load atomic i32, i32* %P1 acquire
383 ; CHECK: load atomic i32, i32* %P1 acquire
385 %a = load atomic i32, i32* %P1 acquire, align 4
391 %b = load atomic i32, i32* %P1 acquire, align 4
399 define i32 @non_local_pre(i32* %P1) {
401 ; CHECK: load atomic i32, i32* %P1 unordered
402 ; CHECK: load atomic i32, i32* %P1 unordered
405 %a = load atomic i32, i32* %P1 unordered, align 4
412 %b = load atomic i32, i32* %P1 unordered, align 4
417 define i32 @non_local_pre2(i32* %P1) {
419 ; CHECK: load atomic i32, i32* %P1 unordered
420 ; CHECK: load i32, i32* %P1
423 %a = load atomic i32, i32* %P1 unordered, align 4
430 %b = load i32, i32* %P1
435 define i32 @non_local_pre3(i32* %P1) {
437 ; CHECK: %a = load i32, i32* %P1
438 ; CHECK: %b = load atomic i32, i32* %P1 unordered
440 %a = load i32, i32* %P1
447 %b = load atomic i32, i32* %P1 unordered, align 4
452 define i32 @non_local_pre4(i32* %P1) {
454 ; CHECK: %a = load atomic i32, i32* %P1 seq_cst
455 ; CHECK: %b = load atomic i32, i32* %P1 seq_cst
457 %a = load atomic i32, i32* %P1 seq_cst, align 4
464 %b = load atomic i32, i32* %P1 seq_cst, align 4
469 define i32 @non_local_pre5(i32* %P1) {
471 ; CHECK: %a = load atomic i32, i32* %P1 seq_cst
472 ; CHECK: %b = load volatile i32, i32* %P1
474 %a = load atomic i32, i32* %P1 seq_cst, align 4
481 %b = load volatile i32, i32* %P1
487 define i32 @non_local_pre6(i32* %P1) {
489 ; CHECK: load atomic i32, i32* %P1 seq_cst
490 ; CHECK: load atomic i32, i32* %P1 unordered
493 %a = load atomic i32, i32* %P1 seq_cst, align 4
500 %b = load atomic i32, i32* %P1 unordered, align 4