File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -185,4 +185,19 @@ program OmpAtomicUpdate
185
185
! $omp atomic update
186
186
w = max (w,x,y,z)
187
187
188
+ ! CHECK: %[[IMP_DO:.*]] = hlfir.elemental %{{.*}} unordered : (!fir.shape<1>) -> !hlfir.expr<?xi32> {
189
+ ! CHECK: ^bb0(%{{.*}}: index):
190
+ ! [...]
191
+ ! CHECK: %[[ADD_I1:.*]] = arith.addi {{.*}} : i32
192
+ ! CHECK: hlfir.yield_element %[[ADD_I1]] : i32
193
+ ! CHECK: }
194
+ ! [...]
195
+ ! CHECK: %[[SUM:.*]] = hlfir.sum %[[IMP_DO]]
196
+ ! CHECK: omp.atomic.update %[[VAL_X_DECLARE]]#1 : !fir.ref<i32> {
197
+ ! CHECK: ^bb0(%[[ARG0:.*]]: i32):
198
+ ! CHECK: %[[ADD_I2:.*]] = arith.addi %[[ARG0]], %[[SUM]] : i32
199
+ ! CHECK: omp.yield(%[[ADD_I2]] : i32)
200
+ ! CHECK: }
201
+ ! $omp atomic update
202
+ x = x + sum ([ (y+2 , y= 1 , z) ])
188
203
end program OmpAtomicUpdate
You can’t perform that action at this time.
0 commit comments