diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2018-03-09 15:20:30 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2018-03-09 15:20:30 +0000 |
commit | 21dab12453d2e9bb222820002890cdd653c59b5f (patch) | |
tree | fb3d7fb21aec240ec5344caa122c3d20c271ae71 /clang/test/OpenMP/taskloop_reduction_codegen.cpp | |
parent | 14b7e1890916c3941153b373e007fd4ce2fecf85 (diff) | |
download | bcm5719-llvm-21dab12453d2e9bb222820002890cdd653c59b5f.tar.gz bcm5719-llvm-21dab12453d2e9bb222820002890cdd653c59b5f.zip |
[OPENMP] Fix the address of the original variable in task reductions.
If initialization of the task reductions requires pointer to original
variable, which is stored in the threadprivate storage, we used the
address of this pointer instead.
llvm-svn: 327136
Diffstat (limited to 'clang/test/OpenMP/taskloop_reduction_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/taskloop_reduction_codegen.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/test/OpenMP/taskloop_reduction_codegen.cpp b/clang/test/OpenMP/taskloop_reduction_codegen.cpp index 2623d932c7f..fe261d4e064 100644 --- a/clang/test/OpenMP/taskloop_reduction_codegen.cpp +++ b/clang/test/OpenMP/taskloop_reduction_codegen.cpp @@ -164,7 +164,9 @@ sum = 0.0; // CHECK: define internal void @[[RED_INIT2]](i8*) // CHECK: call i8* @__kmpc_threadprivate_cached( -// 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: call void @llvm.memcpy.p0i8.p0i8.i64( // CHECK: ret void |