35 lines · plain
1! RUN: %flang_fc1 -fopenmp -emit-hlfir -o - %s | FileCheck %s2 3!$omp parallel sections4!$omp section5 do i = 1, 26 end do7!$omp section8 do i = 1, 29 end do10!$omp end parallel sections11end12! CHECK-LABEL: func.func @_QQmain() {13! CHECK: omp.parallel {14! CHECK: %[[VAL_3:.*]] = fir.alloca i32 {bindc_name = "i", pinned, uniq_name = "_QFEi"}15! CHECK: %[[VAL_4:.*]]:2 = hlfir.declare %[[VAL_3]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)16! CHECK: omp.sections {17! CHECK: omp.section {18! CHECK: %[[VAL_11:.*]] = fir.do_loop %[[VAL_12:.*]] = %{{.*}} to %{{.*}} step %{{.*}} iter_args(%{{.*}} = %{{.*}} -> (i32) {19! CHECK: }20! CHECK: fir.store %[[VAL_11]] to %[[VAL_4]]#0 : !fir.ref<i32>21! CHECK: omp.terminator22! CHECK: }23! CHECK: omp.section {24! CHECK: %[[VAL_25:.*]] = fir.do_loop %[[VAL_26:.*]] = %{{.*}} to %{{.*}} step %{{.*}} iter_args(%{{.*}} = %{{.*}}) -> (i32) {25! CHECK: }26! CHECK: fir.store %[[VAL_25]] to %[[VAL_4]]#0 : !fir.ref<i32>27! CHECK: omp.terminator28! CHECK: }29! CHECK: omp.terminator30! CHECK: }31! CHECK: omp.terminator32! CHECK: }33! CHECK: return34! CHECK: }35