diff options
Diffstat (limited to 'clang/test/OpenMP/taskloop_reduction_codegen.cpp')
| -rw-r--r-- | clang/test/OpenMP/taskloop_reduction_codegen.cpp | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/clang/test/OpenMP/taskloop_reduction_codegen.cpp b/clang/test/OpenMP/taskloop_reduction_codegen.cpp index 16bafb3acf7..fec3e62114e 100644 --- a/clang/test/OpenMP/taskloop_reduction_codegen.cpp +++ b/clang/test/OpenMP/taskloop_reduction_codegen.cpp @@ -4,6 +4,10 @@ // SIMD-ONLY0-NOT: {{__kmpc|__tgt}} // expected-no-diagnostics +// CHECK: [[RED_SIZE1:@reduction_size[.].+]] = common thread_local global i64 0 +// CHECK: [[RED1:@reduction[.].+]] = common thread_local global i8* null +// CHECK: [[RED_SIZE2:@reduction_size[.].+]] = common thread_local global i64 0 + struct S { float a; S() : a(0.0f) {} @@ -163,10 +167,7 @@ sum = 0.0; // CHECK: ret void // CHECK: define internal void @[[RED_INIT2]](i8* %0) -// CHECK: call i8* @__kmpc_threadprivate_cached( -// CHECK: [[ORIG_PTR_ADDR:%.+]] = call i8* @__kmpc_threadprivate_cached( -// CHECK: [[ORIG_PTR_REF:%.+]] = bitcast i8* [[ORIG_PTR_ADDR]] to i8** -// CHECK: load i8*, i8** [[ORIG_PTR_REF]], +// CHECK: load i8*, i8** [[RED1]], // CHECK: call void [[OMP_INIT1:@.+]]( // CHECK: ret void @@ -177,12 +178,12 @@ sum = 0.0; // CHECK: call void @llvm.memcpy.p0i8.p0i8.i64( // CHECK: define internal void @[[RED_FINI2]](i8* %0) -// CHECK: call i8* @__kmpc_threadprivate_cached( +// CHECK: load i64, i64* [[RED_SIZE1]] // CHECK: call void @ // CHECK: ret void // CHECK: define internal void @[[RED_COMB2]](i8* %0, i8* %1) -// CHECK: call i8* @__kmpc_threadprivate_cached( +// CHECK: load i64, i64* [[RED_SIZE1]] // CHECK: call void [[OMP_COMB1]]( // CHECK: ret void @@ -196,26 +197,20 @@ sum = 0.0; // CHECK: ret void // CHECK: define internal void @[[RED_INIT4]](i8* %0) -// CHECK: call i8* @__kmpc_threadprivate_cached( +// CHECK: load i64, i64* [[RED_SIZE2]] // CHECK: store float 0.000000e+00, float* % // CHECK: ret void // CHECK: define internal void @[[RED_COMB4]](i8* %0, i8* %1) -// CHECK: call i8* @__kmpc_threadprivate_cached( +// CHECK: load i64, i64* [[RED_SIZE2]] // CHECK: fadd float % // CHECK: store float %{{.+}}, float* % // CHECK: ret void -// CHECK-NOT: call i8* @__kmpc_threadprivate_cached( // CHECK: call i8* @__kmpc_task_reduction_get_th_data( -// CHECK: call i8* @__kmpc_threadprivate_cached( -// CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: call i8* @__kmpc_task_reduction_get_th_data( -// CHECK-NOT: call i8* @__kmpc_threadprivate_cached( // CHECK: call i8* @__kmpc_task_reduction_get_th_data( -// CHECK: call i8* @__kmpc_threadprivate_cached( // CHECK: call i8* @__kmpc_task_reduction_get_th_data( -// CHECK-NOT: call i8* @__kmpc_threadprivate_cached( // CHECK-DAG: distinct !DISubprogram(linkageName: "[[TASK]]", scope: ! // CHECK-DAG: !DISubprogram(linkageName: "[[RED_INIT1]]" |

