| ! This test checks lowering of OpenMP combined loop constructs. |
| |
| ! RUN: bbc -fopenmp -emit-hlfir %s -o - | FileCheck %s |
| ! RUN: %flang_fc1 -fopenmp -emit-hlfir %s -o - | FileCheck %s |
| |
| program main |
| integer :: i |
| |
| ! TODO When DISTRIBUTE, TASKLOOP and TEAMS are supported add: |
| ! - DISTRIBUTE PARALLEL DO SIMD |
| ! - DISTRIBUTE PARALLEL DO |
| ! - DISTRIBUTE SIMD |
| ! - TARGET TEAMS DISTRIBUTE PARALLEL DO SIMD |
| ! - TARGET TEAMS DISTRIBUTE PARALLEL DO |
| ! - TARGET TEAMS DISTRIBUTE SIMD |
| ! - TARGET TEAMS DISTRIBUTE |
| ! - TASKLOOP SIMD |
| ! - TEAMS DISTRIBUTE PARALLEL DO SIMD |
| ! - TEAMS DISTRIBUTE PARALLEL DO |
| ! - TEAMS DISTRIBUTE SIMD |
| ! - TEAMS DISTRIBUTE |
| |
| ! ---------------------------------------------------------------------------- |
| ! DO SIMD |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.simdloop |
| !$omp do simd |
| do i = 1, 10 |
| end do |
| !$omp end do simd |
| |
| ! ---------------------------------------------------------------------------- |
| ! PARALLEL DO SIMD |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.parallel |
| ! CHECK: omp.simdloop |
| !$omp parallel do simd |
| do i = 1, 10 |
| end do |
| !$omp end parallel do simd |
| |
| ! ---------------------------------------------------------------------------- |
| ! PARALLEL DO |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.parallel |
| ! CHECK: omp.wsloop |
| !$omp parallel do |
| do i = 1, 10 |
| end do |
| !$omp end parallel do |
| |
| ! ---------------------------------------------------------------------------- |
| ! TARGET PARALLEL DO SIMD |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.target |
| ! CHECK: omp.parallel |
| ! CHECK: omp.simdloop |
| !$omp target parallel do simd |
| do i = 1, 10 |
| end do |
| !$omp end target parallel do simd |
| |
| ! ---------------------------------------------------------------------------- |
| ! TARGET PARALLEL DO |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.target |
| ! CHECK: omp.parallel |
| ! CHECK: omp.wsloop |
| !$omp target parallel do |
| do i = 1, 10 |
| end do |
| !$omp end target parallel do |
| |
| ! ---------------------------------------------------------------------------- |
| ! TARGET SIMD |
| ! ---------------------------------------------------------------------------- |
| ! CHECK: omp.target |
| ! CHECK: omp.simdloop |
| !$omp target simd |
| do i = 1, 10 |
| end do |
| !$omp end target simd |
| end program main |