diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-08-04 11:18:19 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-08-04 11:18:19 +0000 |
commit | 54acd405916a5b939e85f876691995004447a7b9 (patch) | |
tree | 3a8c7cf56432607388a39debe5925977ba3a3eb9 /clang/test/OpenMP/for_ast_print.cpp | |
parent | 323dc2d064b92a47b818857b82b7916e55ccf4bd (diff) | |
download | bcm5719-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.cpp | 52 |
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(); |