summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/for_ast_print.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2015-08-04 11:18:19 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2015-08-04 11:18:19 +0000
commit54acd405916a5b939e85f876691995004447a7b9 (patch)
tree3a8c7cf56432607388a39debe5925977ba3a3eb9 /clang/test/OpenMP/for_ast_print.cpp
parent323dc2d064b92a47b818857b82b7916e55ccf4bd (diff)
downloadbcm5719-llvm-54acd405916a5b939e85f876691995004447a7b9.tar.gz
bcm5719-llvm-54acd405916a5b939e85f876691995004447a7b9.zip
[OPENMP 4.1] Support for 'linear' clause in loop directives.
OpenMP 4.1 allows 'linear' clause in loop directives. Patch adds support for it. llvm-svn: 243969
Diffstat (limited to 'clang/test/OpenMP/for_ast_print.cpp')
-rw-r--r--clang/test/OpenMP/for_ast_print.cpp52
1 files changed, 26 insertions, 26 deletions
diff --git a/clang/test/OpenMP/for_ast_print.cpp b/clang/test/OpenMP/for_ast_print.cpp
index d87cece1762..1af391d2cf6 100644
--- a/clang/test/OpenMP/for_ast_print.cpp
+++ b/clang/test/OpenMP/for_ast_print.cpp
@@ -13,37 +13,37 @@ T tmain(T argc) {
T b = argc, c, d, e, f, g;
static T a;
// CHECK: static T a;
-#pragma omp for schedule(dynamic)
- // CHECK-NEXT: #pragma omp for schedule(dynamic)
+#pragma omp for schedule(dynamic) linear(a)
+ // CHECK-NEXT: #pragma omp for schedule(dynamic) linear(a)
for (int i = 0; i < 2; ++i)
a = 2;
// CHECK-NEXT: for (int i = 0; i < 2; ++i)
// CHECK-NEXT: a = 2;
#pragma omp parallel
-#pragma omp for private(argc, b), firstprivate(c, d), lastprivate(d, f) collapse(N) schedule(static, N) ordered(N) nowait
- for (int i = 0; i < 10; ++i)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
- for (int i = 0; i < 10; ++i)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
- for (int j = 0; j < 10; ++j)
+#pragma omp for private(argc, b), firstprivate(c, d), lastprivate(d, f) collapse(N) schedule(static, N) ordered(N) nowait linear(a : N)
+ for (int i = 0; i < 2; ++i)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
+ for (int i = 0; i < 2; ++i)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
+ for (int j = 0; j < 2; ++j)
foo();
// CHECK-NEXT: #pragma omp parallel
- // CHECK-NEXT: #pragma omp for private(argc,b) firstprivate(c,d) lastprivate(d,f) collapse(N) schedule(static, N) ordered(N) nowait
- // CHECK-NEXT: for (int i = 0; i < 10; ++i)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int i = 0; i < 10; ++i)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
- // CHECK-NEXT: for (int j = 0; j < 10; ++j)
+ // CHECK-NEXT: #pragma omp for private(argc,b) firstprivate(c,d) lastprivate(d,f) collapse(N) schedule(static, N) ordered(N) nowait linear(a: N)
+ // CHECK-NEXT: for (int i = 0; i < 2; ++i)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int i = 0; i < 2; ++i)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
+ // CHECK-NEXT: for (int j = 0; j < 2; ++j)
// CHECK-NEXT: foo();
return T();
}
@@ -59,12 +59,12 @@ int main(int argc, char **argv) {
// CHECK-NEXT: for (int i = 0; i < 2; ++i)
// CHECK-NEXT: a = 2;
#pragma omp parallel
-#pragma omp for private(argc, b), firstprivate(argv, c), lastprivate(d, f) collapse(2) schedule(auto) ordered nowait
+#pragma omp for private(argc, b), firstprivate(argv, c), lastprivate(d, f) collapse(2) schedule(auto) ordered nowait linear(g:-1)
for (int i = 0; i < 10; ++i)
for (int j = 0; j < 10; ++j)
foo();
// CHECK-NEXT: #pragma omp parallel
- // CHECK-NEXT: #pragma omp for private(argc,b) firstprivate(argv,c) lastprivate(d,f) collapse(2) schedule(auto) ordered nowait
+ // CHECK-NEXT: #pragma omp for private(argc,b) firstprivate(argv,c) lastprivate(d,f) collapse(2) schedule(auto) ordered nowait linear(g: -1)
// CHECK-NEXT: for (int i = 0; i < 10; ++i)
// CHECK-NEXT: for (int j = 0; j < 10; ++j)
// CHECK-NEXT: foo();
OpenPOWER on IntegriCloud