diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-07-14 10:32:29 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-07-14 10:32:29 +0000 |
commit | b44fdfc7b242ad9ecbbeee1c2ceb55ffadd64832 (patch) | |
tree | 486fa003ba5cbf3c4a4dc7c63201c92c25ddd7ae /clang/test/OpenMP/single_private_codegen.cpp | |
parent | d9c0bcfd2844035a20806fc3959ef51dc018b879 (diff) | |
download | bcm5719-llvm-b44fdfc7b242ad9ecbbeee1c2ceb55ffadd64832.tar.gz bcm5719-llvm-b44fdfc7b242ad9ecbbeee1c2ceb55ffadd64832.zip |
[OPENMP] Drop type qualifiers from private variables.
If the variable is marked as private in OpenMP construct, the reference to this variable should not keep type qualifiers for the original variable. Private copy is not volatile or constant, so we can use unqualified type for private copy.
llvm-svn: 242133
Diffstat (limited to 'clang/test/OpenMP/single_private_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/single_private_codegen.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/OpenMP/single_private_codegen.cpp b/clang/test/OpenMP/single_private_codegen.cpp index e947ca62f41..e228b1b1488 100644 --- a/clang/test/OpenMP/single_private_codegen.cpp +++ b/clang/test/OpenMP/single_private_codegen.cpp @@ -55,7 +55,7 @@ int main() { // LAMBDA: store %{{.+}}* [[ARG]], %{{.+}}** [[ARG_REF:%.+]], g = 1; // LAMBDA: call {{.*}}i32 @__kmpc_single( - // LAMBDA: store volatile double 1.0{{.+}}, double* [[G_PRIVATE_ADDR]], + // LAMBDA: store double 1.0{{.+}}, double* [[G_PRIVATE_ADDR]], // LAMBDA: [[G_PRIVATE_ADDR_REF:%.+]] = getelementptr inbounds %{{.+}}, %{{.+}}* [[ARG:%.+]], i{{[0-9]+}} 0, i{{[0-9]+}} 0 // LAMBDA: store double* [[G_PRIVATE_ADDR]], double** [[G_PRIVATE_ADDR_REF]] // LAMBDA: call{{.*}} void [[INNER_LAMBDA:@.+]](%{{.+}}* [[ARG]]) @@ -67,7 +67,7 @@ int main() { // LAMBDA: [[ARG_PTR:%.+]] = load %{{.+}}*, %{{.+}}** [[ARG_PTR_REF]] // LAMBDA: [[G_PTR_REF:%.+]] = getelementptr inbounds %{{.+}}, %{{.+}}* [[ARG_PTR]], i{{[0-9]+}} 0, i{{[0-9]+}} 0 // LAMBDA: [[G_REF:%.+]] = load double*, double** [[G_PTR_REF]] - // LAMBDA: store volatile double 2.0{{.+}}, double* [[G_REF]] + // LAMBDA: store double 2.0{{.+}}, double* [[G_REF]] }(); } }(); @@ -87,7 +87,7 @@ int main() { // BLOCKS: store %{{.+}}* [[ARG]], %{{.+}}** [[ARG_REF:%.+]], g = 1; // BLOCKS: call {{.*}}i32 @__kmpc_single( - // BLOCKS: store volatile double 1.0{{.+}}, double* [[G_PRIVATE_ADDR]], + // BLOCKS: store double 1.0{{.+}}, double* [[G_PRIVATE_ADDR]], // BLOCKS-NOT: [[G]]{{[[^:word:]]}} // BLOCKS: double* [[G_PRIVATE_ADDR]] // BLOCKS-NOT: [[G]]{{[[^:word:]]}} @@ -97,7 +97,7 @@ int main() { // BLOCKS: define {{.+}} void {{@.+}}(i8* g = 2; // BLOCKS-NOT: [[G]]{{[[^:word:]]}} - // BLOCKS: store volatile double 2.0{{.+}}, double* + // BLOCKS: store double 2.0{{.+}}, double* // BLOCKS-NOT: [[G]]{{[[^:word:]]}} // BLOCKS: ret }(); |