45 lines · plain
1! This test checks lowering of worksharing-loop construct with ordered clause.2 3! RUN: bbc -fopenmp -emit-hlfir %s -o - | FileCheck %s4 5! This checks lowering ordered clause specified without parameter6subroutine wsloop_ordered_no_para()7 integer :: a(10), i8 9! CHECK: omp.wsloop ordered(0) private({{.*}}) {10! CHECK-NEXT: omp.loop_nest (%{{.*}}) : i32 = (%{{.*}}) to (%{{.*}}) inclusive step (%{{.*}}) {11! CHECK: omp.yield12! CHECK: }13! CHECK: }14 15 !$omp do ordered16 do i = 2, 1017 !$omp ordered18 a(i) = a(i-1) + 119 !$omp end ordered20 end do21 !$omp end do22 23end24 25! This checks lowering ordered clause specified with a parameter26subroutine wsloop_ordered_with_para()27 integer :: a(10), i28 29! CHECK: func @_QPwsloop_ordered_with_para() {30! CHECK: omp.wsloop ordered(1) private({{.*}}) {31! CHECK-NEXT: omp.loop_nest (%{{.*}}) : i32 = (%{{.*}}) to (%{{.*}}) inclusive step (%{{.*}}) {32! CHECK: omp.yield33! CHECK: }34! CHECK: }35 36 !$omp do ordered(1)37 do i = 2, 1038 !!$omp ordered depend(sink: i-1)39 a(i) = a(i-1) + 140 !!$omp ordered depend(source)41 end do42 !$omp end do43 44end45