brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 2bc0f17 Raw
38 lines · plain
1! RUN: bbc -emit-hlfir -fopenmp -o - %s -fopenmp-version=50 2>&1 | FileCheck %s2! RUN: %flang_fc1 -emit-hlfir -fopenmp -o - %s -fopenmp-version=50 2>&1 | FileCheck %s3 4! CHECK-LABEL:  omp.private {type = private} 5! CHECK-SAME:        @[[I_PRIVATE:.*]] : i326 7! CHECK-LABEL: func.func @_QPomp_taskloop() {8! CHECK:         %[[VAL_0:.*]] = fir.dummy_scope : !fir.dscope9! CHECK:         %[[ALLOCA_I:.*]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFomp_taskloopEi"}10! CHECK:         %[[DECL_I:.*]]:2 = hlfir.declare %1 {uniq_name = "_QFomp_taskloopEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)11! CHECK:         omp.parallel {12! CHECK:           %[[C1_I32:.*]] = arith.constant 1 : i3213! CHECK:           %[[C10_I32:.*]] = arith.constant 10 : i3214! CHECK:           %[[C1_I32_0:.*]] = arith.constant 1 : i3215! CHECK:           omp.taskloop private(@[[I_PRIVATE]] %2#0 -> %[[ARG0:.*]] : !fir.ref<i32>) {16! CHECK:             omp.loop_nest (%[[ARG1:.*]]) : i32 = (%[[C1_I32]]) to (%[[C10_I32]]) inclusive step (%[[C1_I32_0]]) {17! CHECK:               %[[IDX:.*]]:2 = hlfir.declare %[[ARG0]] {uniq_name = "_QFomp_taskloopEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)18! CHECK:               hlfir.assign %[[ARG1]] to %[[IDX]]#0 : i32, !fir.ref<i32>19! CHECK:               omp.cancel cancellation_construct_type(taskgroup)20! CHECK:               omp.yield21! CHECK:             }22! CHECK:           }23! CHECK:           omp.terminator24! CHECK:         }25! CHECK:         return26! CHECK:       }27 28subroutine omp_taskloop29integer :: i30!$omp parallel31    !$omp taskloop32      do i = 1, 1033      !$omp cancel taskgroup34      end do35    !$omp end taskloop36!$omp end parallel37end subroutine omp_taskloop38