brintos

brintos / llvm-project-archived public Read only

0
0
Text · 754 B · 4fb67c0 Raw
23 lines · plain
1! RUN: %flang_fc1 -emit-hlfir -o - %s | FileCheck %s2 3subroutine do_concurrent_allocatable4  integer :: i5  real, allocatable, dimension(:,:) :: x6 7  do concurrent (i = 1:10) reduce(+: x)8  end do9end subroutine10 11! CHECK: fir.declare_reduction @[[RED_OP:.*]] : ![[RED_TYPE:.*]] attributes {byref_element_type = !fir.array<?x?xf32>} alloc {12! CHECK:   %[[ALLOC:.*]] = fir.alloca13! CHECK:   fir.yield(%[[ALLOC]] : ![[RED_TYPE]])14! CHECK: } init {15! CHECK: ^bb0(%{{.*}}: ![[RED_TYPE]], %[[RED_ARG:.*]]: ![[RED_TYPE]]):16! CHECK:   fir.yield(%[[RED_ARG]] : !{{.*}})17! CHECK: } combiner {18! CHECK: ^bb0(%[[COMB_RES:.*]]: ![[RED_TYPE]], %{{.*}}: ![[RED_TYPE]]):19! CHECK:   fir.yield(%[[COMB_RES]] : !{{.*}})20! CHECK: } cleanup {21! CHECK:   fir.yield22! CHECK: }23