brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 916b5a9 Raw
32 lines · plain
1!RUN: %flang_fc1 -emit-hlfir -fopenmp -fopenmp-version=60 %s -o - | FileCheck %s2 3! Check that we generate proper body of the do-construct.4 5!CHECK: omp.loop_nest (%[[ARG1:arg[0-9]+]]) : i32 = (%c1_i32) to (%c10_i32) inclusive step (%c1_i32_1) {6!CHECK:   %[[V0:[0-9]+]]:2 = hlfir.declare %arg0 {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)7!CHECK:   hlfir.assign %[[ARG1]] to %[[V0]]#0 : i32, !fir.ref<i32>8!CHECK:   %[[V1:[0-9]+]] = fir.load %[[V0]]#0 : !fir.ref<i32>9!CHECK:   %[[V2:[0-9]+]] = fir.convert %[[V1]] : (i32) -> f3210!CHECK:   %[[V3:[0-9]+]] = fir.load %[[V0]]#0 : !fir.ref<i32>11!CHECK:   %[[V4:[0-9]+]] = fir.convert %[[V3]] : (i32) -> i6412!CHECK:   %[[V5:[0-9]+]] = hlfir.designate %3#0 (%[[V4]])  : (!fir.ref<!fir.array<10xf32>>, i64) -> !fir.ref<f32>13!CHECK:   hlfir.assign %[[V2]] to %[[V5]] : f32, !fir.ref<f32>14!CHECK:   omp.yield15!CHECK: }16 17program omp_cdir_codegen18  implicit none19  integer, parameter :: n = 1020  real :: a(n)21  integer :: i22 23!$omp parallel do24!dir$ unroll25  do i = 1, n26    a(i) = real(i)27  end do28!$omp end parallel do29 30  print *, 'a(1)=', a(1), ' a(n)=', a(n)31end program omp_cdir_codegen32