blob: a1f6500551de3ca0c488475796767141f84736dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
! { dg-do compile }
! { dg-additional-options "-fdump-tree-gimple" }
! See also '../../c-c++-common/goacc/combined-reduction.c'.
subroutine foo ()
implicit none
integer :: p, k, s
integer :: a
!$acc parallel loop reduction(+:a)
do p = 1,5
enddo
!$acc end parallel loop
!$acc kernels loop reduction(+:a)
do k = 2,6
enddo
!$acc end kernels loop
!$acc serial loop reduction(+:a)
do s = 1,5
enddo
!$acc end serial loop
end subroutine
! { dg-final { scan-tree-dump-times "target oacc_parallel reduction..:a. map.tofrom.a." 1 "gimple" } }
! { dg-final { scan-tree-dump-times "acc loop private.p. reduction..:a." 1 "gimple" } }
! { dg-final { scan-tree-dump-times "target oacc_kernels map.force_tofrom:a .len: 4.." 1 "gimple" } }
! { dg-final { scan-tree-dump-times "acc loop private.k. reduction..:a." 1 "gimple" } }
! { dg-final { scan-tree-dump-times "target oacc_serial reduction..:a. map.tofrom.a." 1 "gimple" } }
! { dg-final { scan-tree-dump-times "acc loop private.s. reduction..:a." 1 "gimple" } }
|