Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Lower / OpenMP / taskgroup.f90
blobc3b7f4a73dbddb4a09f201668ab729d162d9352b
1 !RUN: %flang_fc1 -emit-fir -fopenmp %s -o - | FileCheck %s
3 !CHECK-LABEL: @_QPomp_taskgroup
4 subroutine omp_taskgroup
5 use omp_lib
6 integer :: allocated_x
7 !CHECK-DAG: %{{.*}} = fir.alloca i32 {bindc_name = "allocated_x", uniq_name = "_QFomp_taskgroupEallocated_x"}
8 !CHECK-DAG: %{{.*}} = arith.constant 1 : i32
10 !CHECK: omp.taskgroup allocate(%{{.*}} : i32 -> %0 : !fir.ref<i32>)
11 !$omp taskgroup allocate(omp_high_bw_mem_alloc: allocated_x)
12 !$omp task
13 !CHECK: fir.call @_QPwork() {{.*}}: () -> ()
14 call work()
15 !CHECK: omp.terminator
16 !$omp end task
17 !CHECK: omp.terminator
18 !$omp end taskgroup
19 end subroutine