brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · 4361381 Raw
192 lines · plain
1! RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s2 3! CHECK-LABEL: func.func @_QPdistribute_parallel_do_generic() {4subroutine distribute_parallel_do_generic()5  ! CHECK: omp.target6  ! CHECK-NOT: host_eval({{.*}})7  ! CHECK-SAME: {8  !$omp target9  !$omp teams10  !$omp distribute parallel do11  do i = 1, 1012    call foo(i)13  end do14  !$omp end distribute parallel do15  call bar() !< Prevents this from being SPMD.16  !$omp end teams17  !$omp end target18 19  ! CHECK: omp.target20  ! CHECK-NOT: host_eval({{.*}})21  ! CHECK-SAME: {22  !$omp target teams23  !$omp distribute parallel do24  do i = 1, 1025    call foo(i)26  end do27  !$omp end distribute parallel do28  call bar() !< Prevents this from being SPMD.29  !$omp end target teams30 31  ! CHECK: omp.target32  ! CHECK-NOT: host_eval({{.*}})33  ! CHECK-SAME: {34  !$omp target teams35  !$omp distribute parallel do36  do i = 1, 1037    call foo(i)38  end do39  !$omp end distribute parallel do40 41  !$omp distribute parallel do42  do i = 1, 1043    call foo(i)44  end do45  !$omp end distribute parallel do46  !$omp end target teams47end subroutine distribute_parallel_do_generic48 49! CHECK-LABEL: func.func @_QPdistribute_parallel_do_spmd() {50subroutine distribute_parallel_do_spmd()51  ! CHECK: omp.target52  ! CHECK-SAME: host_eval({{.*}})53  !$omp target54  !$omp teams55  !$omp distribute parallel do56  do i = 1, 1057    call foo(i)58  end do59  !$omp end distribute parallel do60  !$omp end teams61  !$omp end target62 63  ! CHECK: omp.target64  ! CHECK-SAME: host_eval({{.*}})65  !$omp target teams66  !$omp distribute parallel do67  do i = 1, 1068    call foo(i)69  end do70  !$omp end distribute parallel do71  !$omp end target teams72end subroutine distribute_parallel_do_spmd73 74! CHECK-LABEL: func.func @_QPdistribute_parallel_do_simd_generic() {75subroutine distribute_parallel_do_simd_generic()76  ! CHECK: omp.target77  ! CHECK-NOT: host_eval({{.*}})78  ! CHECK-SAME: {79  !$omp target80  !$omp teams81  !$omp distribute parallel do simd82  do i = 1, 1083    call foo(i)84  end do85  !$omp end distribute parallel do simd86  call bar() !< Prevents this from being SPMD.87  !$omp end teams88  !$omp end target89 90  ! CHECK: omp.target91  ! CHECK-NOT: host_eval({{.*}})92  ! CHECK-SAME: {93  !$omp target teams94  !$omp distribute parallel do simd95  do i = 1, 1096    call foo(i)97  end do98  !$omp end distribute parallel do simd99  call bar() !< Prevents this from being SPMD.100  !$omp end target teams101 102  ! CHECK: omp.target103  ! CHECK-NOT: host_eval({{.*}})104  ! CHECK-SAME: {105  !$omp target teams106  !$omp distribute parallel do simd107  do i = 1, 10108    call foo(i)109  end do110  !$omp end distribute parallel do simd111 112  !$omp distribute parallel do simd113  do i = 1, 10114    call foo(i)115  end do116  !$omp end distribute parallel do simd117  !$omp end target teams118end subroutine distribute_parallel_do_simd_generic119 120! CHECK-LABEL: func.func @_QPdistribute_parallel_do_simd_spmd() {121subroutine distribute_parallel_do_simd_spmd()122  ! CHECK: omp.target123  ! CHECK-SAME: host_eval({{.*}})124  !$omp target125  !$omp teams126  !$omp distribute parallel do simd127  do i = 1, 10128    call foo(i)129  end do130  !$omp end distribute parallel do simd131  !$omp end teams132  !$omp end target133 134  ! CHECK: omp.target135  ! CHECK-SAME: host_eval({{.*}})136  !$omp target teams137  !$omp distribute parallel do simd138  do i = 1, 10139    call foo(i)140  end do141  !$omp end distribute parallel do simd142  !$omp end target teams143end subroutine distribute_parallel_do_simd_spmd144 145! CHECK-LABEL: func.func @_QPteams_distribute_parallel_do_spmd() {146subroutine teams_distribute_parallel_do_spmd()147  ! CHECK: omp.target148  ! CHECK-SAME: host_eval({{.*}})149  !$omp target150  !$omp teams distribute parallel do151  do i = 1, 10152    call foo(i)153  end do154  !$omp end teams distribute parallel do155  !$omp end target156end subroutine teams_distribute_parallel_do_spmd157 158! CHECK-LABEL: func.func @_QPteams_distribute_parallel_do_simd_spmd() {159subroutine teams_distribute_parallel_do_simd_spmd()160  ! CHECK: omp.target161  ! CHECK-SAME: host_eval({{.*}})162  !$omp target163  !$omp teams distribute parallel do simd164  do i = 1, 10165    call foo(i)166  end do167  !$omp end teams distribute parallel do simd168  !$omp end target169end subroutine teams_distribute_parallel_do_simd_spmd170 171! CHECK-LABEL: func.func @_QPtarget_teams_distribute_parallel_do_spmd() {172subroutine target_teams_distribute_parallel_do_spmd()173  ! CHECK: omp.target174  ! CHECK-SAME: host_eval({{.*}})175  !$omp target teams distribute parallel do176  do i = 1, 10177    call foo(i)178  end do179  !$omp end target teams distribute parallel do180end subroutine target_teams_distribute_parallel_do_spmd181 182! CHECK-LABEL: func.func @_QPtarget_teams_distribute_parallel_do_simd_spmd() {183subroutine target_teams_distribute_parallel_do_simd_spmd()184  ! CHECK: omp.target185  ! CHECK-SAME: host_eval({{.*}})186  !$omp target teams distribute parallel do simd187  do i = 1, 10188    call foo(i)189  end do190  !$omp end target teams distribute parallel do simd191end subroutine target_teams_distribute_parallel_do_simd_spmd192