diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-06-23 04:51:00 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-06-23 04:51:00 +0000 |
commit | aac108a324dd0478afa349cd756c2a7c4d6e97ea (patch) | |
tree | 8749a74fbf007027d917cf8b7ac69d82a8dfe9a6 /clang/test/OpenMP/for_private_codegen.cpp | |
parent | 9ad0ec295fa571e32bfa22e231caddf3c532e463 (diff) | |
download | bcm5719-llvm-aac108a324dd0478afa349cd756c2a7c4d6e97ea.tar.gz bcm5719-llvm-aac108a324dd0478afa349cd756c2a7c4d6e97ea.zip |
[OPENMP] Do not emit references to original variables in 'private' clause.
Currently if the variable is captured in captured region, capture record for this region stores reference to this variable for future use. But we don't need to provide the reference to the original variable if it was explicitly marked as private in the 'private' clause of the OpenMP construct, this variable is replaced by private copy.
Differential Revision: http://reviews.llvm.org/D9550
llvm-svn: 240377
Diffstat (limited to 'clang/test/OpenMP/for_private_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/for_private_codegen.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/test/OpenMP/for_private_codegen.cpp b/clang/test/OpenMP/for_private_codegen.cpp index 8fc5fe7a18b..f217b9ac5d7 100644 --- a/clang/test/OpenMP/for_private_codegen.cpp +++ b/clang/test/OpenMP/for_private_codegen.cpp @@ -19,9 +19,10 @@ struct S { volatile double g; // CHECK: [[S_FLOAT_TY:%.+]] = type { float } -// CHECK: [[CAP_MAIN_TY:%.+]] = type { i{{[0-9]+}}*, [2 x i{{[0-9]+}}]*, [2 x [[S_FLOAT_TY]]]*, [[S_FLOAT_TY]]* } +// CHECK: [[CAP_MAIN_TY:%.+]] = type { i8 } +// CHECK: type { i8 } // CHECK: [[S_INT_TY:%.+]] = type { i{{[0-9]+}} } -// CHECK: [[CAP_TMAIN_TY:%.+]] = type { i{{[0-9]+}}*, [2 x i{{[0-9]+}}]*, [2 x [[S_INT_TY]]]*, [[S_INT_TY]]* } +// CHECK: [[CAP_TMAIN_TY:%.+]] = type { i8 } template <typename T> T tmain() { S<T> test; |