We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 63e1034 commit 06b6e83Copy full SHA for 06b6e83
flang/test/Lower/OpenMP/atomic-update.f90
@@ -185,4 +185,19 @@ program OmpAtomicUpdate
185
!$omp atomic update
186
w = max(w,x,y,z)
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
201
+ !$omp atomic update
202
+ x = x + sum([ (y+2, y=1, z) ])
203
end program OmpAtomicUpdate
0 commit comments