@@ -1048,4 +1048,35 @@ extern "C" void acc_combined_deviceptr(int *arg1, int *arg2) {
10481048 // CHECK-NEXT: } loc
10491049 // CHECK-NEXT: acc.terminator
10501050 // CHECK-NEXT: } loc
1051+
1052+ #pragma acc parallel loop deviceptr(arg1) async
1053+ for (unsigned I = 0 ; I < 5 ; ++I);
1054+ // CHECK-NEXT: %[[DEVPTR1:.*]] = acc.deviceptr varPtr(%[[ARG1]] : !cir.ptr<!cir.ptr<!s32i>>) async -> !cir.ptr<!cir.ptr<!s32i>> {name = "arg1"}
1055+ // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[DEVPTR1]] : !cir.ptr<!cir.ptr<!s32i>>) async {
1056+ // CHECK-NEXT: acc.loop combined(parallel) {
1057+ // CHECK: acc.yield
1058+ // CHECK-NEXT: } loc
1059+ // CHECK-NEXT: acc.yield
1060+ // CHECK-NEXT: } loc
1061+
1062+ #pragma acc serial loop deviceptr(arg2) async device_type(nvidia)
1063+ for (unsigned I = 0 ; I < 5 ; ++I);
1064+ // CHECK-NEXT: %[[DEVPTR2:.*]] = acc.deviceptr varPtr(%[[ARG2]] : !cir.ptr<!cir.ptr<!s32i>>) async -> !cir.ptr<!cir.ptr<!s32i>> {name = "arg2"}
1065+ // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[DEVPTR2]] : !cir.ptr<!cir.ptr<!s32i>>) async {
1066+ // CHECK-NEXT: acc.loop combined(serial) {
1067+ // CHECK: acc.yield
1068+ // CHECK-NEXT: } loc
1069+ // CHECK-NEXT: acc.yield
1070+ // CHECK-NEXT: } loc
1071+
1072+ #pragma acc kernels loop deviceptr(arg1, arg2) device_type(nvidia) async
1073+ for (unsigned I = 0 ; I < 5 ; ++I);
1074+ // CHECK-NEXT: %[[DEVPTR1:.*]] = acc.deviceptr varPtr(%[[ARG1]] : !cir.ptr<!cir.ptr<!s32i>>) async([#acc.device_type<nvidia>]) -> !cir.ptr<!cir.ptr<!s32i>> {name = "arg1"}
1075+ // CHECK-NEXT: %[[DEVPTR2:.*]] = acc.deviceptr varPtr(%[[ARG2]] : !cir.ptr<!cir.ptr<!s32i>>) async([#acc.device_type<nvidia>]) -> !cir.ptr<!cir.ptr<!s32i>> {name = "arg2"}
1076+ // CHECK-NEXT: acc.kernels combined(loop) dataOperands(%[[DEVPTR1]], %[[DEVPTR2]] : !cir.ptr<!cir.ptr<!s32i>>, !cir.ptr<!cir.ptr<!s32i>>) async([#acc.device_type<nvidia>]) {
1077+ // CHECK-NEXT: acc.loop combined(kernels) {
1078+ // CHECK: acc.yield
1079+ // CHECK-NEXT: } loc
1080+ // CHECK-NEXT: acc.terminator
1081+ // CHECK-NEXT: } loc
10511082}
0 commit comments