54 lines · plain
1! RUN: %flang_fc1 -emit-fir -fopenmp -fopenmp-version=60 %s -o - | FileCheck %s2 3! CHECK-LABEL: func @_QPtarget_teams_workdistribute4subroutine target_teams_workdistribute()5 use iso_fortran_env6 real(kind=real32) :: a7 real(kind=real32), dimension(10) :: x8 real(kind=real32), dimension(10) :: y9 !$omp target teams workdistribute10 11 ! CHECK: omp.target_data12 ! CHECK: omp.target13 ! CHECK: omp.teams14 ! CHECK: omp.parallel15 ! CHECK: omp.distribute16 ! CHECK: omp.wsloop17 ! CHECK: omp.loop_nest18 19 y = a * x + y20 21 ! CHECK: omp.target22 ! CHECK: omp.teams23 ! CHECK: omp.parallel24 ! CHECK: omp.distribute25 ! CHECK: omp.wsloop26 ! CHECK: omp.loop_nest27 28 y = 2.0_real3229 30 !$omp end target teams workdistribute31end subroutine target_teams_workdistribute32 33! CHECK-LABEL: func @_QPteams_workdistribute34subroutine teams_workdistribute()35 use iso_fortran_env36 real(kind=real32) :: a37 real(kind=real32), dimension(10) :: x38 real(kind=real32), dimension(10) :: y39 !$omp teams workdistribute40 41 ! CHECK: omp.teams42 ! CHECK: omp.parallel43 ! CHECK: omp.distribute44 ! CHECK: omp.wsloop45 ! CHECK: omp.loop_nest46 47 y = a * x + y48 49 ! CHECK: fir.call @_FortranAAssign50 y = 2.0_real3251 52 !$omp end teams workdistribute53end subroutine teams_workdistribute54