blob: 960e9518127d756eaf7bfb022c12419d9b4763f9 [file] [log] [blame]
! 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