diff options
| author | Alexey Bataev <a.bataev@hotmail.com> | 2016-01-22 08:56:50 +0000 |
|---|---|---|
| committer | Alexey Bataev <a.bataev@hotmail.com> | 2016-01-22 08:56:50 +0000 |
| commit | 3015bcc62aa4fc948dd02736f525df4b5d18e8fb (patch) | |
| tree | e4e194cff0be6799df9dcac9b9f4099b63664423 /clang/test/OpenMP/sections_private_codegen.cpp | |
| parent | 40038d2d1eef3994c64aaebc61316999e5269ee9 (diff) | |
| download | bcm5719-llvm-3015bcc62aa4fc948dd02736f525df4b5d18e8fb.tar.gz bcm5719-llvm-3015bcc62aa4fc948dd02736f525df4b5d18e8fb.zip | |
[OPENMP] Generalize codegen for 'sections'-based directive.
If 'sections' directive has only one sub-section, the code for 'single'-based directive was emitted. Removed this codegen, because it causes crashes in different cases.
llvm-svn: 258495
Diffstat (limited to 'clang/test/OpenMP/sections_private_codegen.cpp')
| -rw-r--r-- | clang/test/OpenMP/sections_private_codegen.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/clang/test/OpenMP/sections_private_codegen.cpp b/clang/test/OpenMP/sections_private_codegen.cpp index cd2218832bc..b8126551693 100644 --- a/clang/test/OpenMP/sections_private_codegen.cpp +++ b/clang/test/OpenMP/sections_private_codegen.cpp @@ -157,6 +157,11 @@ int main() { // CHECK: ret // // CHECK: define internal void [[MAIN_MICROTASK]](i{{[0-9]+}}* noalias [[GTID_ADDR:%.+]], i{{[0-9]+}}* noalias %{{.+}}) +// CHECK: alloca i{{[0-9]+}}, +// CHECK: alloca i{{[0-9]+}}, +// CHECK: alloca i{{[0-9]+}}, +// CHECK: alloca i{{[0-9]+}}, +// CHECK: alloca i{{[0-9]+}}, // CHECK: [[T_VAR_PRIV:%.+]] = alloca i{{[0-9]+}}, // CHECK: [[VEC_PRIV:%.+]] = alloca [2 x i{{[0-9]+}}], // CHECK: [[S_ARR_PRIV:%.+]] = alloca [2 x [[S_FLOAT_TY]]], @@ -165,7 +170,6 @@ int main() { // CHECK: [[SIVAR_PRIV:%.+]] = alloca i{{[0-9]+}}, // CHECK-NOT: alloca [[S_FLOAT_TY]], // CHECK: store i{{[0-9]+}}* [[GTID_ADDR]], i{{[0-9]+}}** [[GTID_ADDR_REF:%.+]] -// CHECK: call i32 @__kmpc_single( // CHECK-NOT: [[T_VAR_PRIV]] // CHECK-NOT: [[VEC_PRIV]] // CHECK-NOT: [[SIVAR_PRIV]] @@ -175,9 +179,13 @@ int main() { // CHECK-NOT: [[T_VAR_PRIV]] // CHECK-NOT: [[VEC_PRIV]] // CHECK: call {{.*}} [[S_FLOAT_TY_DEF_CONSTR]]([[S_FLOAT_TY]]* [[VAR_PRIV]]) + +// CHECK: call void @__kmpc_for_static_init_4( +// CHECK: call void @__kmpc_for_static_fini( + // CHECK-DAG: call void [[S_FLOAT_TY_DESTR]]([[S_FLOAT_TY]]* [[VAR_PRIV]]) // CHECK-DAG: call void [[S_FLOAT_TY_DESTR]]([[S_FLOAT_TY]]* -// CHECK: call void @__kmpc_end_single( +// CHECK: call void @__kmpc_barrier( // CHECK: ret void // CHECK: define {{.*}} i{{[0-9]+}} [[TMAIN_INT]]() |

