diff options
| author | Alexey Bataev <a.bataev@hotmail.com> | 2020-03-09 08:55:57 -0400 |
|---|---|---|
| committer | Alexey Bataev <a.bataev@hotmail.com> | 2020-03-13 18:04:16 -0400 |
| commit | b3998a0edb9ae154a69964a94b5c53decf27f210 (patch) | |
| tree | 25319381ffe9bdf3f3f3e46978cecf77826f08d5 /clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp | |
| parent | 94f848d7b569981edba7405da87886fa1fae9898 (diff) | |
[OPENMP]Fix PR45047: Do not copy firstprivates in tasks twice.
Avoid copying of the orignal variable if it is going to be marked as
firstprivate in task regions. For taskloops, still need to copy the
non-trvially copyable variables to correctly construct them upon task
creation.
Diffstat (limited to 'clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp')
| -rw-r--r-- | clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp b/clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp index dc157ab7b360..9b77efe5555d 100644 --- a/clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp +++ b/clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp @@ -151,7 +151,7 @@ sum = 0.0; // CHECK: [[DIV:%.*]] = sdiv i32 [[ADD11]], 1 // CHECK: [[SUB12:%.*]] = sub nsw i32 [[DIV]], 1 // CHECK: store i32 [[SUB12]], i32* [[DOTCAPTURE_EXPR_9]], -// CHECK: [[TMP65:%.*]] = call i8* @__kmpc_omp_task_alloc(%struct.ident_t* %{{.+}}, i32 [[TMP0]], i32 1, i64 888, i64 64, i32 (i32, i8*)* bitcast (i32 (i32, %struct.kmp_task_t_with_privates*)* @[[TASK:.+]] to i32 (i32, i8*)*)) +// CHECK: [[TMP65:%.*]] = call i8* @__kmpc_omp_task_alloc(%struct.ident_t* %{{.+}}, i32 [[TMP0]], i32 1, i64 888, i64 40, i32 (i32, i8*)* bitcast (i32 (i32, %struct.kmp_task_t_with_privates*)* @[[TASK:.+]] to i32 (i32, i8*)*)) // CHECK: call void @__kmpc_taskloop(%struct.ident_t* %{{.+}}, i32 [[TMP0]], i8* [[TMP65]], i32 1, i64* %{{.+}}, i64* %{{.+}}, i64 %{{.+}}, i32 1, i32 0, i64 0, i8* null) // CHECK: call void @__kmpc_end_taskgroup(%struct.ident_t* // CHECK: call {{.*}}void @__kmpc_end_master( |
