1! This test checks lowering of worksharing-loop construct with ordered clause. 2 3! RUN: bbc -fopenmp -emit-hlfir %s -o - | FileCheck %s 4 5! This checks lowering ordered clause specified without parameter 6subroutine wsloop_ordered_no_para() 7 integer :: a(10), i 8 9! CHECK: omp.wsloop ordered(0) { 10! CHECK-NEXT: omp.loop_nest (%{{.*}}) : i32 = (%{{.*}}) to (%{{.*}}) inclusive step (%{{.*}}) { 11! CHECK: omp.yield 12! CHECK: } 13! CHECK: } 14 15 !$omp do ordered 16 do i = 2, 10 17 !$omp ordered 18 a(i) = a(i-1) + 1 19 !$omp end ordered 20 end do 21 !$omp end do 22 23end 24 25! This checks lowering ordered clause specified with a parameter 26subroutine wsloop_ordered_with_para() 27 integer :: a(10), i 28 29! CHECK: func @_QPwsloop_ordered_with_para() { 30! CHECK: omp.wsloop ordered(1) { 31! CHECK-NEXT: omp.loop_nest (%{{.*}}) : i32 = (%{{.*}}) to (%{{.*}}) inclusive step (%{{.*}}) { 32! CHECK: omp.yield 33! CHECK: } 34! CHECK: } 35 36 !$omp do ordered(1) 37 do i = 2, 10 38 !!$omp ordered depend(sink: i-1) 39 a(i) = a(i-1) + 1 40 !!$omp ordered depend(source) 41 end do 42 !$omp end do 43 44end 45