diff options
Diffstat (limited to 'test/OpenMP/target_parallel_if_codegen.cpp')
-rw-r--r-- | test/OpenMP/target_parallel_if_codegen.cpp | 94 |
1 files changed, 33 insertions, 61 deletions
diff --git a/test/OpenMP/target_parallel_if_codegen.cpp b/test/OpenMP/target_parallel_if_codegen.cpp index 0aebcc218fbb..c155bf7c051a 100644 --- a/test/OpenMP/target_parallel_if_codegen.cpp +++ b/test/OpenMP/target_parallel_if_codegen.cpp @@ -130,8 +130,6 @@ int bar(int n){ return a; } - - // // CHECK: define {{.*}}[[FS1]]([[S1]]* {{%.+}}, i32 {{[^%]*}}[[PARM:%.+]]) // @@ -147,10 +145,8 @@ int bar(int n){ // CHECK: store i8 [[FB]], i8* [[CONV]], align // CHECK: [[ARG:%.+]] = load i[[SZ]], i[[SZ]]* [[CAPEC_ADDR]], align // -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 3, {{.*}}, i32 1, i32 0) -// CHECK: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 3, {{.*}}, i32 1, i32 0) +// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 // CHECK: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // // CHECK: [[FAIL]] @@ -175,28 +171,18 @@ int bar(int n){ // CHECK: br i1 [[CMP]], label {{%?}}[[IF_THEN:.+]], label {{%?}}[[IF_ELSE:.+]] // // CHECK: [[IF_THEN]] -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 2, {{.*}}, i32 1, i32 0) -// CHECK: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK: br label {{%?}}[[END:.+]] -// -// CHECK: [[IF_ELSE]] -// CHECK: store i32 -1, i32* [[RHV]], align -// CHECK: br label {{%?}}[[END]] -// -// CHECK: [[END]] -// CHECK: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 -// CHECK: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] -// +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 2, {{.*}}, i32 1, i32 0) +// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 +// CHECK-NEXT: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // CHECK: [[FAIL]] // CHECK: call void [[HVT2:@.+]]([[S1]]* {{%.+}}, i[[SZ]] [[ARG]]) -// CHECK: br label {{%?}}[[END]] +// CHECK-NEXT: br label %[[END]] // CHECK: [[END]] - - - - - +// CHECK-NEXT: br label %[[IFEND:.+]] +// CHECK: [[IF_ELSE]] +// CHECK: call void [[HVT2]]([[S1]]* {{%.+}}, i[[SZ]] [[ARG]]) +// CHECK-NEXT: br label %[[IFEND]] +// CHECK: [[IFEND]] // // CHECK: define {{.*}}[[FSTATIC]](i32 {{[^%]*}}[[PARM:%.+]]) @@ -217,23 +203,18 @@ int bar(int n){ // CHECK: br i1 [[TB]], label {{%?}}[[IF_THEN:.+]], label {{%?}}[[IF_ELSE:.+]] // // CHECK: [[IF_THEN]] -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 1, {{.*}}, i32 1, i32 0) -// CHECK: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK: br label {{%?}}[[END:.+]] -// -// CHECK: [[IF_ELSE]] -// CHECK: store i32 -1, i32* [[RHV]], align -// CHECK: br label {{%?}}[[END]] -// -// CHECK: [[END]] -// CHECK: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 -// CHECK: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] -// +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 1, {{.*}}, i32 1, i32 0) +// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 +// CHECK-NEXT: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // CHECK: [[FAIL]] // CHECK: call void [[HVT3:@.+]](i[[SZ]] [[ARG]]) -// CHECK: br label {{%?}}[[END]] +// CHECK-NEXT: br label %[[END]] // CHECK: [[END]] +// CHECK-NEXT: br label %[[IFEND:.+]] +// CHECK: [[IF_ELSE]] +// CHECK: call void [[HVT3]](i[[SZ]] [[ARG]]) +// CHECK-NEXT: br label %[[IFEND]] +// CHECK: [[IFEND]] // // // @@ -243,23 +224,18 @@ int bar(int n){ // CHECK: br i1 [[CMP]], label {{%?}}[[IF_THEN:.+]], label {{%?}}[[IF_ELSE:.+]] // // CHECK: [[IF_THEN]] -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 0, {{.*}}, i32 1, i32 0) -// CHECK: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK: br label {{%?}}[[END:.+]] -// -// CHECK: [[IF_ELSE]] -// CHECK: store i32 -1, i32* [[RHV]], align -// CHECK: br label {{%?}}[[END]] -// -// CHECK: [[END]] -// CHECK: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 -// CHECK: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] -// +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 0, {{.*}}, i32 1, i32 0) +// CHECK: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 +// CHECK-NEXT: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // CHECK: [[FAIL]] // CHECK: call void [[HVT4:@.+]]() -// CHECK: br label {{%?}}[[END]] +// CHECK-NEXT: br label %[[END]] // CHECK: [[END]] +// CHECK-NEXT: br label %[[IFEND:.+]] +// CHECK: [[IF_ELSE]] +// CHECK: call void [[HVT4]]() +// CHECK-NEXT: br label %[[IFEND]] +// CHECK: [[IFEND]] @@ -269,10 +245,8 @@ int bar(int n){ // // CHECK: define {{.*}}[[FTEMPLATE]] // -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 1, {{.*}}, i32 1, i32 0) -// CHECK-NEXT: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK-NEXT: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK-NEXT: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 1, {{.*}}, i32 1, i32 0) +// CHECK-NEXT: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 // CHECK-NEXT: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // // CHECK: [[FAIL]] @@ -283,10 +257,8 @@ int bar(int n){ // // // -// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i32 -1, i8* @{{[^,]+}}, i32 2, {{.*}}, i32 1, i32 0) -// CHECK-NEXT: store i32 [[RET]], i32* [[RHV:%.+]], align -// CHECK-NEXT: [[RET2:%.+]] = load i32, i32* [[RHV]], align -// CHECK-NEXT: [[ERROR:%.+]] = icmp ne i32 [[RET2]], 0 +// CHECK-DAG: [[RET:%.+]] = call i32 @__tgt_target_teams(i64 -1, i8* @{{[^,]+}}, i32 2, {{.*}}, i32 1, i32 0) +// CHECK-NEXT: [[ERROR:%.+]] = icmp ne i32 [[RET]], 0 // CHECK-NEXT: br i1 [[ERROR]], label %[[FAIL:.+]], label %[[END:[^,]+]] // // CHECK: [[FAIL]] |