! This test checks lowering of OpenMP order clause. !RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=50 %s -o - | FileCheck %s !CHECK-LABEL: func.func @_QPsimd_order() { subroutine simd_order !CHECK: omp.simd order(reproducible:concurrent) { !$omp simd order(concurrent) do i = 1, 10 end do !CHECK: omp.simd order(reproducible:concurrent) { !$omp simd order(reproducible:concurrent) do i = 1, 10 end do !CHECK: omp.simd order(unconstrained:concurrent) { !$omp simd order(unconstrained:concurrent) do i = 1, 10 end do end subroutine simd_order !CHECK-LABEL: func.func @_QPdo_order() { subroutine do_order !CHECK: omp.wsloop order(reproducible:concurrent) { !$omp do order(concurrent) do i = 1, 10 end do !CHECK: omp.wsloop order(reproducible:concurrent) { !$omp do order(reproducible:concurrent) do i = 1, 10 end do !CHECK: omp.wsloop order(unconstrained:concurrent) { !$omp do order(unconstrained:concurrent) do i = 1, 10 end do end subroutine do_order !CHECK-LABEL: func.func @_QPdo_simd_order() { subroutine do_simd_order !CHECK: omp.wsloop order(reproducible:concurrent) { !$omp do simd order(concurrent) do i = 1, 10 end do !CHECK: omp.wsloop order(reproducible:concurrent) { !$omp do simd order(reproducible:concurrent) do i = 1, 10 end do !CHECK: omp.wsloop order(unconstrained:concurrent) { !$omp do simd order(unconstrained:concurrent) do i = 1, 10 end do end subroutine do_simd_order !CHECK-LABEL: func.func @_QPdo_simd_order_parallel() { subroutine do_simd_order_parallel !CHECK: omp.parallel { !CHECK: omp.wsloop order(reproducible:concurrent) { !$omp parallel do simd order(reproducible:concurrent) do i = 1, 10 end do end subroutine do_simd_order_parallel subroutine distribute_order !CHECK: omp.distribute order(reproducible:concurrent) { !$omp teams distribute order(concurrent) do i=1,10 end do !CHECK: omp.distribute order(reproducible:concurrent) { !$omp teams distribute order(reproducible:concurrent) do i=1,10 end do !CHECK: omp.distribute order(unconstrained:concurrent) { !$omp teams distribute order(unconstrained:concurrent) do i = 1, 10 end do end subroutine