Skip to content

Commit 06b6e83

Browse files
[Test] Add a test
1 parent 63e1034 commit 06b6e83

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

flang/test/Lower/OpenMP/atomic-update.f90

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,4 +185,19 @@ program OmpAtomicUpdate
185185
!$omp atomic update
186186
w = max(w,x,y,z)
187187

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) ])
188203
end program OmpAtomicUpdate

0 commit comments

Comments
 (0)