summaryrefslogtreecommitdiff
path: root/test/OpenMP
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-11-22 20:19:50 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-11-22 20:19:50 +0000
commit058809db8ecd355548e166fccd7b80f682524bde (patch)
tree29cff7ac7a4d9cd5d8c58ebc3a88bd218a426c9e /test/OpenMP
parentea7e3341d57fca39f0a8f4f236e03c2ae8f6dc80 (diff)
[OPENMP] Add support for cancel constructs in [teams] distribute
parallel for directives. Added codegen/sema support for cancel constructs in [teams] distribute parallel for directives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318872 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/OpenMP')
-rw-r--r--test/OpenMP/distribute_parallel_for_codegen.cpp1
-rw-r--r--test/OpenMP/distribute_parallel_for_messages.cpp11
-rw-r--r--test/OpenMP/teams_distribute_parallel_for_codegen.cpp1
-rw-r--r--test/OpenMP/teams_distribute_parallel_for_messages.cpp9
4 files changed, 22 insertions, 0 deletions
diff --git a/test/OpenMP/distribute_parallel_for_codegen.cpp b/test/OpenMP/distribute_parallel_for_codegen.cpp
index 62c38f1888..4fbca7d2f2 100644
--- a/test/OpenMP/distribute_parallel_for_codegen.cpp
+++ b/test/OpenMP/distribute_parallel_for_codegen.cpp
@@ -28,6 +28,7 @@ T tmain() {
#pragma omp teams
#pragma omp distribute parallel for
for (int i = 0; i < n; ++i) {
+ #pragma omp cancel for
a[i] = b[i] + c[i];
}
diff --git a/test/OpenMP/distribute_parallel_for_messages.cpp b/test/OpenMP/distribute_parallel_for_messages.cpp
index 35a61df39e..b61c4e7a46 100644
--- a/test/OpenMP/distribute_parallel_for_messages.cpp
+++ b/test/OpenMP/distribute_parallel_for_messages.cpp
@@ -116,3 +116,14 @@ void test_ordered() {
;
}
+void test_cancel() {
+#pragma omp target
+#pragma omp teams
+#pragma omp distribute parallel for
+ for (int i = 0; i < 16; ++i)
+ for (int j = 0; j < 16; ++j) {
+#pragma omp cancel for
+ ;
+ }
+}
+
diff --git a/test/OpenMP/teams_distribute_parallel_for_codegen.cpp b/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
index 0f31db0794..d2dd9aa8d6 100644
--- a/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
+++ b/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
@@ -32,6 +32,7 @@ int teams_argument_global(int n){
#pragma omp teams distribute parallel for num_teams(te), thread_limit(th)
for(int i = 0; i < n; i++) {
a[i] = 0;
+ #pragma omp cancel for
}
// CK1: call i32 @__tgt_target(i64 -1, i8* @{{[^,]+}}, i32 2, i8** %{{[^,]+}}, i8** %{{[^,]+}}, i{{64|32}}* {{.+}}@{{[^,]+}}, i32 0, i32 0), i64* {{.+}}@{{[^,]+}}, i32 0, i32 0))
diff --git a/test/OpenMP/teams_distribute_parallel_for_messages.cpp b/test/OpenMP/teams_distribute_parallel_for_messages.cpp
index 12010dc3dd..dd88abd566 100644
--- a/test/OpenMP/teams_distribute_parallel_for_messages.cpp
+++ b/test/OpenMP/teams_distribute_parallel_for_messages.cpp
@@ -107,3 +107,12 @@ void test_ordered() {
;
}
+void test_cancel() {
+#pragma omp target
+#pragma omp teams distribute parallel for
+ for (int i = 0; i < 16; ++i) {
+#pragma omp cancel for
+ ;
+ }
+}
+