finalyze moving
This commit is contained in:
45
tests/sapfor/private_removing/test_cascade.f
Normal file
45
tests/sapfor/private_removing/test_cascade.f
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
program test_cascade
|
||||
double precision :: y(10, 10), x(10, 10)
|
||||
integer :: n, m
|
||||
|
||||
n=10
|
||||
m=15
|
||||
! y can be removed in 3 steps:
|
||||
!$SPF ANALYSIS(PRIVATE(y))
|
||||
do i = 1, n
|
||||
do j = 1, m
|
||||
y(1, j) = 2
|
||||
enddo
|
||||
do j = 1, m
|
||||
y(1, j) = y(1, j) * 10
|
||||
enddo
|
||||
do j = 1, m
|
||||
x(j, i) = y(1, j)
|
||||
! correct result:
|
||||
! x(j, i) = 2 * 10
|
||||
enddo
|
||||
|
||||
do j = 1, m
|
||||
y(2, j) = y(1, i) * 20
|
||||
enddo
|
||||
do j = 1, m
|
||||
x(j, i) = y(2, j)
|
||||
! correct result:
|
||||
! x(j, i) = 2 * 10 * 20
|
||||
enddo
|
||||
enddo
|
||||
|
||||
! y can be removed is 2 steps:
|
||||
!$SPF ANALYSIS(PRIVATE(y))
|
||||
do i = 1, n
|
||||
y(1, i) = 2
|
||||
do j = 1, m
|
||||
y(1, i) = y(1, i) * 10
|
||||
x(j, i) = y(1, i)
|
||||
! correct result:
|
||||
! x(j, i) = 2 * 10
|
||||
enddo
|
||||
enddo
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user