brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 00d10d6 Raw
34 lines · plain
1// RUN: fir-opt --lower-workdistribute %s | FileCheck %s2 3// CHECK-LABEL:   func.func @x({{.*}})4// CHECK:           omp.teams {5// CHECK:             omp.parallel {6// CHECK:               omp.distribute {7// CHECK:                 omp.wsloop {8// CHECK:                   omp.loop_nest (%[[VAL_1:.*]]) : index = (%[[ARG0:.*]]) to (%[[ARG1:.*]]) inclusive step (%[[ARG2:.*]]) {9// CHECK:                     %[[VAL_0:.*]] = arith.constant 0 : index10// CHECK:                     fir.store %[[VAL_0]] to %[[ARG4:.*]] : !fir.ref<index>11// CHECK:                     omp.yield12// CHECK:                   }13// CHECK:                 } {omp.composite}14// CHECK:               } {omp.composite}15// CHECK:               omp.terminator16// CHECK:             } {omp.composite}17// CHECK:             omp.terminator18// CHECK:           }19// CHECK:           return20// CHECK:         }21func.func @x(%lb : index, %ub : index, %step : index, %b : i1, %addr : !fir.ref<index>) {22  omp.teams {23    omp.workdistribute { 24      fir.do_loop %iv = %lb to %ub step %step unordered {25        %zero = arith.constant 0 : index26        fir.store %zero to %addr : !fir.ref<index>27      }28      omp.terminator29    }30    omp.terminator31  }32  return33}34