Lines Matching refs:unordered

10 ; GVN across unordered store (allowed)
16 ; CHECK-NEXT: store atomic i32 [[X]], ptr @x unordered, align 4
22 store atomic i32 %x, ptr @x unordered, align 4
28 ; GVN across unordered load (allowed)
34 ; CHECK-NEXT: [[Y:%.*]] = load atomic i32, ptr @x unordered, align 4
41 %y = load atomic i32, ptr @x unordered, align 4
48 ; GVN load to unordered load (allowed)
53 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr @x unordered, align 4
58 %x = load atomic i32, ptr @x unordered, align 4
64 ; GVN unordered load to load (unordered load must not be removed)
70 ; CHECK-NEXT: [[X2:%.*]] = load atomic i32, ptr @x unordered, align 4
76 %x2 = load atomic i32, ptr @x unordered, align 4
120 ; GVN of an unordered across monotonic load (not allowed)
125 ; CHECK-NEXT: [[X:%.*]] = load atomic i32, ptr @y unordered, align 4
132 %x = load atomic i32, ptr @y unordered, align 4
198 ; CHECK-NEXT: store atomic i32 0, ptr [[P1]] unordered, align 4
201 store atomic i32 0, ptr %P1 unordered, align 4
206 ; atomic to unordered atomic forwarding is legal
214 %b = load atomic i32, ptr %P1 unordered, align 4
220 ; than unordered
243 ; CHECK-NEXT: [[B:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
248 %b = load atomic i32, ptr %P1 unordered, align 4
257 ; CHECK-NEXT: [[B:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
261 %b = load atomic i32, ptr %P1 unordered, align 4
413 ; CHECK-NEXT: [[A:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
414 ; CHECK-NEXT: [[B:%.*]] = load atomic i64, ptr [[P1]] unordered, align 4
419 %a = load atomic i32, ptr %P1 unordered, align 4
420 %b = load atomic i64, ptr %P1 unordered, align 4
430 ; CHECK-NEXT: [[A64:%.*]] = load atomic i64, ptr [[P1]] unordered, align 4
436 %a64 = load atomic i64, ptr %P1 unordered, align 4
437 %b = load atomic i32, ptr %P1 unordered, align 4
464 ; unordered atomic to unordered atomic
468 ; CHECK-NEXT: [[A:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
476 %a = load atomic i32, ptr %P1 unordered, align 4
482 %b = load atomic i32, ptr %P1 unordered, align 4
487 ; unordered atomic to non-atomic
491 ; CHECK-NEXT: [[A:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
499 %a = load atomic i32, ptr %P1 unordered, align 4
537 ; unordered atomic to unordered atomic
541 ; CHECK-NEXT: [[A:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
546 ; CHECK-NEXT: [[B_PRE:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
552 %a = load atomic i32, ptr %P1 unordered, align 4
559 %b = load atomic i32, ptr %P1 unordered, align 4
563 ; unordered atomic to non-atomic
567 ; CHECK-NEXT: [[A:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
578 %a = load atomic i32, ptr %P1 unordered, align 4
589 ; non-atomic to unordered atomic - can't forward!
600 ; CHECK-NEXT: [[B:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
610 %b = load atomic i32, ptr %P1 unordered, align 4
665 ; ordered atomic to unordered atomic
674 ; CHECK-NEXT: [[B_PRE:%.*]] = load atomic i32, ptr [[P1]] unordered, align 4
687 %b = load atomic i32, ptr %P1 unordered, align 4