@@ -1368,6 +1368,7 @@ llvm.func @omp_atomic_read(%arg0 : !llvm.ptr, %arg1 : !llvm.ptr) -> () {
1368
1368
1369
1369
// CHECK-LABEL: @omp_atomic_read_implicit_cast
1370
1370
llvm.func @omp_atomic_read_implicit_cast () {
1371
+ //CHECK: %[[ATOMIC_LOAD_TEMP:.*]] = alloca { float, float }, align 8
1371
1372
//CHECK: %[[Z:.*]] = alloca float, i64 1, align 4
1372
1373
//CHECK: %[[Y:.*]] = alloca double, i64 1, align 8
1373
1374
//CHECK: %[[X:.*]] = alloca [2 x { float, float }], i64 1, align 8
@@ -1392,7 +1393,6 @@ llvm.func @omp_atomic_read_implicit_cast () {
1392
1393
%16 = llvm.mul %10 , %9 overflow <nsw > : i64
1393
1394
%17 = llvm.getelementptr %5 [%15 ] : (!llvm.ptr , i64 ) -> !llvm.ptr , !llvm.struct <(f32 , f32 )>
1394
1395
1395
- //CHECK: %[[ATOMIC_LOAD_TEMP:.*]] = alloca { float, float }, align 8
1396
1396
//CHECK: call void @__atomic_load(i64 8, ptr %[[X_ELEMENT]], ptr %[[ATOMIC_LOAD_TEMP]], i32 0)
1397
1397
//CHECK: %[[LOAD:.*]] = load { float, float }, ptr %[[ATOMIC_LOAD_TEMP]], align 8
1398
1398
//CHECK: %[[EXT:.*]] = extractvalue { float, float } %[[LOAD]], 0
@@ -1480,14 +1480,14 @@ llvm.func @omp_atomic_update(%x:!llvm.ptr, %expr: i32, %xbool: !llvm.ptr, %exprb
1480
1480
1481
1481
// -----
1482
1482
1483
+ //CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1483
1484
//CHECK: %[[X_NEW_VAL:.*]] = alloca { float, float }, align 8
1484
1485
//CHECK: {{.*}} = alloca { float, float }, i64 1, align 8
1485
1486
//CHECK: %[[ORIG_VAL:.*]] = alloca { float, float }, i64 1, align 8
1486
1487
1487
1488
//CHECK: br label %entry
1488
1489
1489
1490
//CHECK: entry:
1490
- //CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1491
1491
//CHECK: call void @__atomic_load(i64 8, ptr %[[ORIG_VAL]], ptr %[[ATOMIC_TEMP_LOAD]], i32 0)
1492
1492
//CHECK: %[[PHI_NODE_ENTRY_1:.*]] = load { float, float }, ptr %[[ATOMIC_TEMP_LOAD]], align 8
1493
1493
//CHECK: br label %.atomic.cont
@@ -1532,14 +1532,14 @@ llvm.func @_QPomp_atomic_update_complex() {
1532
1532
1533
1533
// -----
1534
1534
1535
+ //CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1535
1536
//CHECK: %[[X_NEW_VAL:.*]] = alloca { float, float }, align 8
1536
1537
//CHECK: %[[VAL_1:.*]] = alloca { float, float }, i64 1, align 8
1537
1538
//CHECK: %[[ORIG_VAL:.*]] = alloca { float, float }, i64 1, align 8
1538
1539
//CHECK: store { float, float } { float 2.000000e+00, float 2.000000e+00 }, ptr %[[ORIG_VAL]], align 4
1539
1540
//CHECK: br label %entry
1540
1541
1541
1542
//CHECK: entry: ; preds = %0
1542
- //CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1543
1543
//CHECK: call void @__atomic_load(i64 8, ptr %[[ORIG_VAL]], ptr %[[ATOMIC_TEMP_LOAD]], i32 0)
1544
1544
//CHECK: %[[PHI_NODE_ENTRY_1:.*]] = load { float, float }, ptr %[[ATOMIC_TEMP_LOAD]], align 8
1545
1545
//CHECK: br label %.atomic.cont
@@ -1597,9 +1597,9 @@ llvm.func @_QPomp_atomic_capture_complex() {
1597
1597
// CHECK-LABEL: define void @omp_atomic_read_complex() {
1598
1598
llvm.func @omp_atomic_read_complex (){
1599
1599
1600
+ // CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1600
1601
// CHECK: %[[a:.*]] = alloca { float, float }, i64 1, align 8
1601
1602
// CHECK: %[[b:.*]] = alloca { float, float }, i64 1, align 8
1602
- // CHECK: %[[ATOMIC_TEMP_LOAD:.*]] = alloca { float, float }, align 8
1603
1603
// CHECK: call void @__atomic_load(i64 8, ptr %[[b]], ptr %[[ATOMIC_TEMP_LOAD]], i32 0)
1604
1604
// CHECK: %[[LOADED_VAL:.*]] = load { float, float }, ptr %[[ATOMIC_TEMP_LOAD]], align 8
1605
1605
// CHECK: store { float, float } %[[LOADED_VAL]], ptr %[[a]], align 4
0 commit comments