diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:02:26 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-06 20:02:26 +0000 |
commit | 97b17066aaac3f1590a809d79abe98fde03821ec (patch) | |
tree | 955a1295c3fd4378a49478ad5835ca21b769417e /test/OpenMP/schedule_codegen.cpp | |
parent | 45b533945f0851ec234ca846e1af5ee1e4df0b6e (diff) |
Vendor import of clang trunk r256945:vendor/clang/clang-trunk-r256945
Notes
Notes:
svn path=/vendor/clang/dist/; revision=293250
svn path=/vendor/clang/clang-trunk-r256945/; revision=293252; tag=vendor/clang/clang-trunk-r256945
Diffstat (limited to 'test/OpenMP/schedule_codegen.cpp')
-rw-r--r-- | test/OpenMP/schedule_codegen.cpp | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/test/OpenMP/schedule_codegen.cpp b/test/OpenMP/schedule_codegen.cpp new file mode 100644 index 000000000000..bd5ec86b2917 --- /dev/null +++ b/test/OpenMP/schedule_codegen.cpp @@ -0,0 +1,194 @@ +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm -fexceptions -fcxx-exceptions -o - %s | FileCheck %s + +int main() { +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for simd + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for schedule(static) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for simd schedule(static) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for schedule(static, 2) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for simd schedule(static, 2) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(auto) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(auto) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(runtime) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(runtime) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for schedule(monotonic: static) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for simd schedule(monotonic: static) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for schedule(monotonic: static, 2) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_for_static_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_for_static_fini +#pragma omp for simd schedule(monotonic: static, 2) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for schedule(monotonic: auto) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(monotonic: auto) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for schedule(monotonic: runtime) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(monotonic: runtime) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for schedule(monotonic: guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(monotonic: guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for schedule(monotonic: dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(monotonic: dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(nonmonotonic: guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(nonmonotonic: guided) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for schedule(nonmonotonic: dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(nonmonotonic: dynamic) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(static) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for simd schedule(static) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(static, 2) ordered(1) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for simd schedule(static, 2) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(auto) ordered(1) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +#pragma omp for simd schedule(auto) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(runtime) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for simd schedule(runtime) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(guided) ordered(1) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for simd schedule(guided) ordered + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for schedule(dynamic) ordered(1) + for(int i = 0; i < 10; ++i); +// CHECK: @__kmpc_dispatch_init +// CHECK-NOT: !llvm.mem.parallel_loop_access +// CHECK: @__kmpc_dispatch_next +#pragma omp for simd schedule(dynamic) + for(int i = 0; i < 10; ++i); + return 0; +} |