| ! { dg-do compile } |
| ! { dg-additional-options "-fdump-tree-original" } |
| |
| integer :: x, y |
| |
| ! EXEC_OMP_TARGET_TEAMS |
| |
| !$omp target teams map(x) firstprivate(x) |
| x = x + 1 |
| !$omp end target teams |
| |
| !$omp target teams map(x) firstprivate(y) |
| x = y + 1 |
| !$omp end target teams |
| |
| ! EXEC_OMP_TARGET_TEAMS_DISTRIBUTE |
| |
| !$omp target teams distribute map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target teams distribute |
| |
| !$omp target teams distribute map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target teams distribute |
| |
| ! EXEC_OMP_TARGET_TEAMS_LOOP |
| |
| !$omp target teams loop map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target teams loop |
| |
| !$omp target teams loop map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target teams loop |
| |
| ! EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD |
| |
| !$omp target teams distribute simd map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target teams distribute simd |
| |
| !$omp target teams distribute simd map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target teams distribute simd |
| |
| ! EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO |
| |
| !$omp target teams distribute parallel do map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target teams distribute parallel do |
| |
| !$omp target teams distribute parallel do map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target teams distribute parallel do |
| |
| ! EXEC_OMP_TARGET_PARALLEL |
| |
| !$omp target parallel map(x) firstprivate(x) |
| x = x + 1 |
| !$omp end target parallel |
| |
| !$omp target parallel map(x) firstprivate(y) |
| x = y + 1 |
| !$omp end target parallel |
| |
| ! EXEC_OMP_TARGET_PARALLEL_DO |
| |
| !$omp target parallel do map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target parallel do |
| |
| !$omp target parallel do map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target parallel do |
| |
| ! EXEC_OMP_TARGET_PARALLEL_LOOP |
| |
| !$omp target parallel loop map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target parallel loop |
| |
| !$omp target parallel loop map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target parallel loop |
| |
| ! EXEC_OMP_TARGET_PARALLEL_DO_SIMD |
| |
| !$omp target parallel do simd map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target parallel do simd |
| |
| !$omp target parallel do simd map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target parallel do simd |
| |
| ! EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD |
| |
| !$omp target teams distribute parallel do simd map(x) firstprivate(x) |
| do i=1,1 |
| x = x + 1 |
| end do |
| !$omp end target teams distribute parallel do simd |
| |
| !$omp target teams distribute parallel do simd map(x) firstprivate(y) |
| do i=1,1 |
| x = y + 1 |
| end do |
| !$omp end target teams distribute parallel do simd |
| |
| ! { dg-final { scan-tree-dump-times {omp target map\(tofrom:x\)} 10 "original" } } |
| ! { dg-final { scan-tree-dump-times {omp target firstprivate\(y\) map\(tofrom:x\)} 10 "original" } } |
| |
| ! { dg-final { scan-tree-dump-times {omp teams firstprivate\(x\)} 6 "original" } } |
| ! { dg-final { scan-tree-dump-times {omp teams firstprivate\(y\)} 6 "original" } } |
| |
| ! { dg-final { scan-tree-dump-times {omp parallel firstprivate\(x\)} 6 "original" } } |
| ! { dg-final { scan-tree-dump-times {omp parallel firstprivate\(y\)} 6 "original" } } |
| |
| end |